Sie sind auf Seite 1von 46

07.

2005

FW Appendix1ISO codes - 1 -


1 Introduction ....................................................... 3
1.1 Character set ............................................... 3
1.2 Word............................................................ 3
1.3 Address ....................................................... 3
1.4 Code and data............................................. 4
1.5 Coordinate system....................................... 5
1.6 About explanations ...................................... 5
2 Block ................................................................. 6
2.1 Definition ..................................................... 6
2.2 Restrictions in a block.................................. 6
3 Sequence No. .................................................. 7
4 Block skip "/" ..................................................... 8
5 G codes............................................................. 9
5.1 G00 (Positioning and movement) .............. 10
5.2 G01 (Linear Interpolation).......................... 11
5.3 G02, G03 ( Circular interpolation) ........... 12
5.4 G04 (Pause command) ............................. 13
5.5 G05, G06, G07, G08, G09 (Mirror image,
X-Y exchange, mirror image and exchange
cancellation) .................................................... 14
5.6 G11, G12 (Skip ON/OFF) .......................... 15
5.7 G20, G21 (Unit selection) .......................... 16
5.8 G25 ( return to specified coordinate zero
point) ............................................................... 16
5.9 G26, G27(Graph rotation).......................... 17
5.10 G28, G29 (Sharp corner transition
tactics) ............................................................. 17
5.11 G30, G31 (Extention of a given
distance).......................................................... 18
5.12 G34, G35 (Start and cancel reduced speed
cutting) ............................................................ 18
5.13 G37, G36 (Extension of a given distance
from the point of inflexion) ............................... 19
5.14 G40, G41, G42 (Offset and
cancellation) .................................................... 21
5.15 G50, G51, G52 (Taper cutting) ............... 27
5.16G54,G55,G56,G57,G58,G59(Coordinate
System 05)................................................... 27
Contents
FW
Appendix1: ISO Codes
07.2005

- 2 - Appendix1ISO codes FW
5.17 G60, G61 (Upper and lower
heteromorphism)..............................................28
5.18 G74, G75 (Four axes moved
simultaneously)................................................29
5.19 G80 (Contact) ..........................................30
5.20 G81 (Back to machine limit).....................31
5.21 G82 (Half way movement) .......................31
5.22 G90, G91 (Absolute / Incremental
coordinate command) ......................................31
5.23G92 (Setting coordinate value for current
point)................................................................32
6 X, Y, U, V (I, J) axes ........................................32
7 Taper cutting....................................................33
7.1 Input parameters for taper cutting..............33
7.2 Starting of taper cutting..............................34
7.3 Connection in taper cutting ........................35
7.4 Conical angle and striking R......................37
7.5 Constant taper and variable taper..............39
8 M code.............................................................40
8.1 M00 (Pause command) .............................40
8.2 M02 (Program end)....................................40
8.3 M05 (Contact neglect)................................40
8.4 M98 (Subprogram call) ..............................41
8.5 M99 (Subprogram end)..............................41
9 Subprogram.....................................................41
10 Calculation .......................................................43
11 H Code (Offset) ..............................................43
12 R striking angle function...................................44
13 T code..............................................................46




07.2005

FW Appendix1ISO codes - 3 -
1 Introduction

1.1 Character set

The following characters can be used in this system:
Numbers: 0 1 2 3 4 5 6 7 8 9
Alphabets: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Special characters: + - ; / space . ( )

Note: In thi s program system, smal l l etters are the same as capi tal l etters i n
meani ng.

1.2 Word

A word consists of an address and a corresponding data. It's the basic unit of programs.

A word = an address + data

For example: G00, M05, T84 , GO1, X17.88, etc.

1.3 Address

An address is composed of one or more alphabets, which determines the meaning of
following data or code.

The addresses usable in this system and their meanings are shown in the following table:

Address Meaning Address Meaning
N,O Sequence No. A Conical angle
G Preparation function C Designing machining conditions
X,Y,U, V Determining the distance to move R Striking angle R function
I,J Determining the centre of an arc RA
Rotary angle of graph or
coordinate
T
Mechanical equipments control or
set time
M Auxiliary functions
D,H Offset designation L
Number of times of subprogram
call
P Sub-program call
07.2005

- 4 - Appendix1ISO codes FW
1.4 Code and data

The input format of code and data is as follows:
C: A machining condition number can be followed by a 3-digit number. There are forty
machining conditions ( C000 to C039). For example: C000, C039, C009.

D/H: A compensation code can be followed by a 3-digit number. Every code stands for a
specific value. In total, there are one hundred compensation codes ( H000 to H099).
The value of D/H codes' ranges +/-99999. 999 mm (or +/-9999.9999"), For example:
H000, H009.
G: preparation function, it can be followed by a 2-digit number, which determines linear or
circular interpolation. for example: G00,G01, G02, G54, G17, etc.

I,J: The centre coordinate of an arc, the scope of the followed data is +/- 99999.999 mm
(or +/-9999.9999"). For example: I5., J10..

L: Number of times of a subprogram call. It can be followed by a number of 1-digit, 2-digit
or 3-digit.the max. times of call is 999. For example: l5, L99.

M: Auxiliary function code, it can be followed by a 2-digit number, such as M00, M02, M05.

N/O: Program's sequence number, it can be followed by a 4-digit number. For example:
N0000,
N1000.

P: Sequence No. of the subprogram to be called, it can be followed by a 4-digit number. e.g.:
P0001, P0100.

T: It indicates some control functions of machine tool. It's followed by a 2-digit number. For
example : T84, T85, etc; Or it can set time, e.g.:T3.( the metric system indicates 3
seconds, the inches system indicates 30 seconds), T3000(the metric and the inches all
indicate 3 seconds).

X,Y,U,V: Coordinate code, to determine the distance to move. The following data should be
among +/- 99999.999 mm (or +/-9999.9999").

A: Specification of a conical angle, it can be input 0 .

R: Corner R function, the following data is radius of the interposed arc, and it can't be over
than 99999.999 mm.
07.2005

FW Appendix1ISO codes - 5 -
1.5 Coordi nate system

There are the following two coordinate systems in this system: absolute and incremental.

In absolute coordinate system, the origin of the selected coordinate system is the reference
point when calculating coordinate value of any point. While, in incremental coordinate
system, the previous point is the reference point to calculate coordinate value of the current
point.

The following is the program to move
from point A to point B in different modes:

In absolute mode:
G90 G92 X10. Y5.;
G01 X15. Y10.;

In incremental mode:
G91 G92 X0. Y0.;
G01 X5. Y5. ;

1.6 About expl anati ons

In NC program, characters between " (" and " )" are regarded as expl anati on, and they
won' t be executed.

For example:

(Main program);..................................explanation
G90 G92 X0 Y0;
M98 P0010;
G05; (X mirror image ON);........................explanation
M98 P0010;
G06; (Y mirror image ON);........................explanation
M98 P0010;
G09; (Mirror image cancel )....................explanation
M02;
;
(Subprogram);....................................explanation
N0010;
G41 H000;
07.2005

- 6 - Appendix1ISO codes FW
G01 X5. Y10.;
X15.;
G03 X23.6602 Y25.0 I8.66 J5.0;
G01 X5.;
Y10.;
G40 X0. Y0;
M99;


2 Block

2.1 Defi ni ti on

A bl ock i s one l i ne of NC program, whi ch starts by an address or symbol " /" , ends by
symbol " ;" . A NC program consi sts of a seri es of bl ocks.

2.2 Restri cti ons i n a bl ock

[1] If more than one axis ( X,Y,U and V ) are included in a block, these axes can be handled
simultaneously according to codes.

Example 1: G91 G00 X5. Y15. (It means that the worktable moves simultaneously
along X axis for 5 mm and for 15 mm along Y axis.

If you wish to move along X axis and Y axis sequentially, please place them in
different blocks .

Example 2 : G90 G00 X5. ;
Y15.;
The movement path of the above-mentioned two programs are different, as shown in
the following figures:










Example 1 Example 2
07.2005

FW Appendix1ISO codes - 7 -
[2] Two movement codes can't be included in one block. Otherwise, an error will occur.

Example: G00 X10. G01 Y-10. ;
Error .
It shall be modified as: G00 X10. ;
G01 Y-10. ;

[3] If the symbol of an axis appears more than one time in one block, an error will occur .

Example: G01 X10. Y20. X40. Error.


3 Sequence No.

A sequence No. is a number appended in front of each block, And it can be omitted. A
sequence No. should be started by an English character " N " or " O ", and followed by a
4-digit number. It indicates the relative position of blocks, which makes it easy to search for
a certain block. There are the following two goals to use sequence No.

[1] A serial No. for execution of a program .
[2] A mark for subprogram call

Example:
N0000;
G90 G54 C92 X0. Y0.;
T84;
C000;
M98 P0010;
C010;
M98 P0020;
T85;
M05 G00 Z10;
M02;
;
N0010;.....................Subprogram sequence No.
G01 X0;
M99;
;
N0020;
G02 X10. I5.;
07.2005

- 8 - Appendix1ISO codes FW
G02 X5. I-2.5;
G03 X0 I-2.5;
M99;
Note: N9140 , N9141, N9142 .................N9165 all are No. of fixed subprograms.
Users can't use these sequence No. in their own programs, while, users can call these fixed
subprograms.


4 Bl ock skip " /"

When the status of " ski p" i s ON i n the mark setti ng mode, or G11 code i s used, the
bl ocks wi th the symbol " /" at thei r head won' t be executed, i e. these bl ocks are
ski pped automati cal l y. When the status of " ski p" i s off, or G12 code i s used , these
bl ocks wi l l be executed .
Note: The symbol " /" shoul d be at the head of a bl ock.

Example:
N0000;
G90 G54 G92 X0 Y-10.;
G12;
G42 H0190;
M98 P0030;
G11;
G41 H0136;
M98 P0030;
M02;
;
N0030;
/G01 Z-1.;..............As the main program has the code G11", this block won't be
executed in the second call .
G01 Y0;
X-15.;
Y-30.;
X15.;
Y0;
X0;
G40 Y-10.;
M99;
07.2005

FW Appendix1ISO codes - 9 -
5 G codes

G codes can be classified into the following two types:

[1] A code of the first type is only effective in the block where such a code is included.
These codes are called non modular .For example: G80, G04, etc.
[2] A code of the second type is effective until another code of the same group appears.
These codes are called modular.

Example:
G00 X10.;
G00 is continuously effective.

Y10.;

G01 X20.; G01 is effective.

Table G-1----List of G codes.

G Codes Functi on Cl assi fi cati on


A
G00
G01
G02
G03
High speed movement, positioning command
Linear interpolation Circular interpolation command
(clockwise) Circular interpolation
command(counterclockwise)
Modular
Modular
Modular
Modular
G04 Pause command



B

G05
G06
G07
G08
G09
X mirror image
Y mirror image
Z mirror image
X-Y exchange
X-Y exchange and mirror image cancellation
Modular
Modular
Modular
Modular
Modular
C
G11
G12
Skip ON
Skip OFF
Modular
Modular
D
G26
G27
Graph rotation ON
Graph rotation OFF
Modular
Modular
E
G28
G29
Sharp corner transition (circular)
Sharp corner transition (linear)
Modular
Modular
F
G20
G21
Inch
Metric
Modular
Modular
G G30 Cycle timer type Modular
07.2005

- 10 - Appendix1ISO codes FW
G Codes Functi on Cl assi fi cati on
G31 Cycle timer type Modular
H
G34
G35
Start reduced speed cutting
Cancel reduced speed cutting
Modular
Modular

G36
G37
Cancel G 37 function
Extension of a given distance from the point of
inflexion
Modular
Modular
I
G40
G41
G42
Offset cancellation
Left offset
Right offset
Modular
Modular
Modular
J G45 Scaling Modular

K
G50
G51
G52
Taper cancellation
Left taper
Right taper
Modular
Modular
Modular

L
G54
G55
G56
G57
G58
G59
to select No.1 work coordinate system
to select No.2 work coordinate system
to select No.3 work coordinate system
to select No.4 work coordinate system
to select No.5 work coordinate system
to select No.6 work coordinate system
Modular
Modular
Modular
Modular
Modular
Modular
M
G60
G61
Upper and lower heteromorphism OFF
Upper and lower heteromorphism ON
Modular
Modular
N
G74
G75
Four axes controlled simultaneously ON
Four axes controlled simultaneously OFF
Modular
Modular
O
G80
G81
G82
To move along an axis until contact
To move the worktable to its limit
Half way movement

P
G90
G91
Absolute
Incremental
Modular
Modular
Q G92 To define the origin of coordinate

5.1 G00 (Posi ti oni ng and movement)

G00 i s used to move the worktabl e at hi gh speed. After thi s command i s executed, the
worktabl e moves to the desi red posi ti on wi thout machi ni ng.

Format: N **** G00 Axis 1 +/- Data1 + Axis 2+/- Data 2

It's okay either to move along one axis or move along two axes.
07.2005

FW Appendix1ISO codes - 11 -
Example 1: G00 X10.;
(One axis moves)





Example 2: G00 X10. Y20.;
(Two axes move )








Example 3: Error case: G00 X10.0 X20.0;

The symbol of " X axis " appears twice in one block.
Cauti on: No space or other characters can exi st between the symbol of an axi s
and the fol l owi ng data. Otherwi se, an error wil l occur. If the data i s posi ti ve, the mark
" +" can be omi tted.

Example 4: Error cases: G00 X 10.;

There is a space between "X" and the following data.

G00 XA10.;
There is a character between "X" and the data.

5.2 G01 (Li near Interpol ati on)

Users can define linear interpolation for one or more axes with G01 code.

Format: G01 axis +/- data

As up to four axes and data can fol l ow G01 code, the machi ni ng wi th si ngl e or more
axes l i near i nterpol ati on can be done .


Y




0 10 X

Y

20



0 10 X
07.2005

- 12 - Appendix1ISO codes FW
Example 1: Machining with single
axis C000 G01
X10.



Example 2: Machining with two axes
C010 G01 Y60. X70.



Cauti on: No space or other characters can exi st between an axi s symbol and
the fol l owi ng data. If the data i s posi ti ve, the mark " +" can be omi tted.

5.3 G02, G03 ( Ci rcul ar i nterpol ati on)

Users can define machining with circular interpolation with G02,G03 codes .

Format: {Plane selection} {Rotation direction} {Endpoint Incremental coordinate of the arc
center from the start point}

G02 /G03 X_ Y_ I_ J_ (G17)

G02 i s the cl ockwi se ci rcul ar i nterpol ati on command, and G03 i s the countercl ockwi se
ci rcul ar i nterpol ati on command, as shown i n the fol l owi ng fi gure (l eft):










G17 (seen from the positive direction of Z axis)

The end point shall be expressed in X,Y coordinates, which can be either absolute or
incremental corresponding to G90 or G91. The coordinate of the end point shall be the

07.2005

FW Appendix1ISO codes - 13 -
relative value from start point of the arc in incremental coordinate system (G91).The arc
centre's coordinate shall be expressed in I and J corresponding to X and Y axes, as shown
in the figure at the top (right):

Example: The following is a program for the path shown below.

G92 X10. Y20.;
G90 G02 X50.0 Y60.0 I40.0
G03 X80.0 Y20.0




Cauti on: If any one of I, J i s zero, i t can be omi tted. But you can' t omi t both of
them. Otherwi se, an error wi l l occur.

For example: G02 X50. Y20. J0.; can be modified as: G02 X50. Y20. I20.;

But if G02. X50. Y20. I0 J0; is changed as: G02 X50. Y20.; an error will occur.

5.4 G04 (Pause command)

Format: G04 X_;

Wi th thi s command, after one bl ock i s executed, the machi ne wi l l stop for a certai n
ti me before i t starts to execute the next bl ock. The number fol l owi ng the character " X"
i s the ti me to stop (uni t: second). The l ongest ti me to pause i s 99999.999 seconds.

Example: To pause for 5.8 seconds.
Metric: G04 X5.8; or G04 X5800;
Inches: G04 X0.58; or G04 X5800;

07.2005

- 14 - Appendix1ISO codes FW
5.5 G05, G06, G07, G08, G09(Mirror image, X-Y exchange, mirror image and exchange
cancellation)

G05 is for X mirror image, G06 for Y mirror image, G08 for X-Y exchange, G09 for canceling
mirror image and X-Y exchange.

The codes of this group take effect only in run mode. These codes won't take effect in
manual mode, i.e. they only have effect on G00, G01, G02, G03.

G05: X mirror image means that the actual graph is the symmetry of program path round Y
axis, i.e., the X values in the actual path is the reverse of the X values in the program.

G06: Y mirror image means that the actual graph is the symmetry of program path round X
axis.


Example: Mirror image of linear interpolation:

X mirror image Y mirror image















Note:
[1] For ci rcul ar i nterpol ati on, after X mi rror i mage or Y mi rror i mage command, G02
turns i nto G03, whi l e G03 turns i nto G02.After both X and Y mi rror i mage
command, these two codes remai n unchanged.
[2] Pl ease use G05 and G06 to program both X and Y mi rror i mage command, i e, Y
07.2005

FW Appendix1ISO codes - 15 -
mi rror i mage after X mi rror i mage. And i t' s al l ri ght to program G06 and G05,
whi ch means that X mi rror i mage i s after Y mi rror i mage. The resul ts are the
same.
[3] Pl ease use G09 to cancel mi rror i mage.
[4] Coordi nates of X and Y can' t be omi tted i n program when G05, G06, G07 or G08 i s
used.

eg. G05
G01 X10.0 Y0
G01 X10.0 Y10.0

G08: X-Y exchange. It means that X axis commands in program are actually executed along
Y axis, while Y axis commands in program are actually executed along X axis.

For example:





Note: pl ease use G09 to cancel X-Y exchange.

5.6 G11, G12 (Skip ON/OFF)

The function of G11 and G12 codes is the same as the item of skip in marks and parameters
setting column. They determine whether to skip the blocks with "/" at their heads. When G11
code is used, the blocks with "/" at their heads won't be executed; when G12 code is used,
the symbol of "/" will be neglected, i.e., the blocks with "/" at their heads will be executed as
if the symbol of "/" doesn't exist.

Note: After G11 code is executed, the status of skip in the marks and parameters setting
column turns into "ON"; while, after G12 code is executed, it turns into "OFF".

For example:
G54 G90 G92 X0 Y0;
G11;
/G41 H001;..............................(A)
G01 X10.;
07.2005

- 16 - Appendix1ISO codes FW
Y10.;
/G02 X20. Y20. I10.;....................(B)
/M00;....................................(C)
G01 Y30.;
X0;
G40 G01 Y0;
M02;

The blocks of A, B and C won't be executed.

5.7 G20, G21 (Unit selection)

Users can determine whether the input sizes and data are in inches or metric (mm) by using
these two codes.

G20 inch
G21 mm
Note: [1] Please place a code of this group at the beginning of an NC program.
[2] One mm can be written as 1. or 1000 when mm is selected as the unit, i.e.
1.0=1000=1. One inch can be written as 1. or 10000 when inch is selected as
the unit, i.e. 1.0=10000=1.
[3] 1 inch=25.4 mm

5.8 G25 ( return to specified coordinate zero point)

G25 is used to move axes back to zero point of the specified coordinate system.
Two methods of setting the origin:
[1] Under SET 0 page, select XYUV axes to set zero, which is zero point of the specified
coordinate system.
[2] During execution of NC code, if there is such a block as G92 X-Y-U-V, the value set by G92 is
the zero point.
The zero point which G25 returns to is the last specified zero point.

For example: In NC code, to return to the origin set by G58, use:
G58;
G25;
The axes will return to the set origin in G58.
X axis will be performed first, then Y then U and last V axis.
Also, using manual RETN 0 function, the user can achieve this.
07.2005

FW Appendix1ISO codes - 17 -
5.9 G26, G27(Graph rotation)

G26 and G27 codes determine whether to execute graph rotation or not. Graph rotation
means that the program path rotates for a certain angle round the origin of G54 coordinate
system.

G26 Rotation ON
G27 Rotation OFF

The rotation angle can be directly
given by means of RA (expressed in
degree), as shown right.

RA60.;...The graph rotates through 60.
G26.;

Note: Please use G27 code to cancel graph rotation.

5.10 G28, G29 (Sharp corner transition tactics)

G28 and G29 codes are used to sel ect tacti cs for sharp corner transi ti on.

G28 Circular sharp corner transition
G29 Linear sharp corner transition

G28 means to insert a transition arc at a sharp corner, while G29 means to insert three line
segments at a sharp corner, to ensure that sharp corners won't be injured.

Examples:






Circular sharp corner transition Linear sharp corner transition
Note: [1] The default for sharp corner transition is circular transition.
[2] When offset is zero, sharp corner transition becomes invalid.
07.2005

- 18 - Appendix1ISO codes FW
5.11 G30, G31 (Extention of a given distance)

G31 is used to extend G01 line segment from its end to a given distance along it.
Format: G31X__
The value after X is the given distance to extend and it should be more than or equal to zero in
accordance with the coordinate value.
e.g. G31X30; meaning the distance to extend is 30m.
G31 should be put at the beginning of the line segment to extend.
e.g. G31X0;
G41H000;
G31X1.0X10.0Y10.0; From now on, each line segment extends 1.0 mm from its end.
..
G30G01X0; From now on, cancel the extention function.
If G31X0 is added to the beginning of the NC code, the special treatment of the inner/outer angle
to the line or the arc will not be achieved. If no NC code the default treatment of inner/outer angle
will be carried out automatically. And the work-piece machined in this way will have more obvious
traces but this doesnt affect its measure accuracy and roughness, with sharp corner better.

When no G31 in the NC code, the default treatment is used.
G30 is used to cancel G31 function.

5.12 G34, G35 (Start and cancel reduced speed cutti ng)

G34: starts reduced speed machining from the 3mm point before G01/G02/G03 ends till the
point where this very block program finishes.
G35: cancels the reduced speed machining function specified by G34.

Note: that if there is no G34/G35 in NC files, the default state is reduced speed cutting
cancellation.


07.2005

FW Appendix1ISO codes - 19 -
5.13 G37, G36 (Extensi on of a gi ven di stance from the poi nt of i nfl exi on)
G37 is used to extend G01, G02, G03 program segment a given distance from the
inflexion point, but it is only valid for the machining with X,Y axis and offset .

If the angle is inner one, G37 is
used to extend a given distance
along the bisector of the angle for
G01, G02, G03 program segment
from the inflexion point to the
outside







If the angle is outer one: when it is an
obtuse angle , extend a given distance
from its end or the arcs tangent for the
G01,G02, G03 program segment; When
it is a sharp angle, the linear sharp corner
transition tactics will be used automatically.

Sketch (an external angle90 )










Sketch (arc-arc an external angle90 )

G36 is used to cancel G37 function
Format: G36;
G37 X_[T_]
Sketch
07.2005

- 20 - Appendix1ISO codes FW
Note:
1The matter in [ ] is a option, the format is G37X_ or G37X_T_;
The value after X is the extension distance and it should be more than zero. It is
determined in accordance with the wanted precision of work-piece. The value after
T is time out before start overcut and at the end point of every length in the course
of overcut, there is no time out at the end of overcut.
2If you want to obtain the better effect, it need other cooperation , for example :
increase properly tension, use filament and adjust the time out according to the
height of work-piece [we machined the work-piece: the height is 20mm, used
filament 0.15mm, static tension is 1250g (the balance weight of 0.2mm wire)
and time out is 8s(the thicker work-piece need longer time out), we obtained the
better effect].
Advise: use the following parameters for the narrow lacune(1mm ) :
Wire diameter: 0.120.15mm wire tension:1250g(static tension)
Note:
In the inner angle, the extension distance should not be too long;
Please place a code of this group in the program, and when you use G37, it must
use G36 before exit the program, G36 is used to cancel G37 function.

For example:
H000=+00000000 H001=+00000110;
H005=+00000000;T84 T86 G54 G90 G92X+1500Y-1500;
C007;
G01X+1500Y-1000;G04X0.0+H005;
G41H000;
C004;
G41H000;
G01X+1500Y+0;G04X0.0+H005;
G41H001;
G37X0.05T5.;
X+0Y+0;G04X0.0+H005;
X+0Y+3000;G04X0.0+H005;
X+3000Y+3000;G04X0.0+H005;
X+3000Y+0;G04X0.0H005;
G36; from now on, cancel the extension function
X+1500Y+0;G04X0.0+H005;
G40H000G01X+1500Y-1000;
M00;
1-5 is program segment, you can use
G37 before the 1-4 program
segment, and you can use G36
before the 1-5 program segment.
from now on , each line segment extends 0.05mm
from its end along it or along the bisector of angle
towards the outside.(the internal angle is disposed
according to the bisector, the external angle is
disposed according to the elongation line).
07.2005

FW Appendix1ISO codes - 21 -
C007;
G01X+1500Y-1500;G04X0.0+H005;
T85 T87 M02;
Note: If G37X0 is added to the NC code, the special treatment of the inner/outer angle to the
line or the arc will not be achieved. If use G37X_[T_] in NC code, the treatment will be carried out
automatically(the value of X isnt zero). And the work-piece machined in this way will have more
obvious traces but this doesnt affect its measure accuracy and roughness, with sharp corner
better.
When no G37 in the NC code, the default treatment is used.

5.14 G40, G41, G42 (Offset and cancellation)

Offset function means to offset the program path to get the path of electrode centre. The
offset value is the electrode radius plus discharge gap. Both of left offset and right offset are
available (along the electrode feed direction).

G40 Electrode offset cancellation
G41 Electrode offset (left)
G42 Electrode offset (right)

Format: N**** G41/G42 H***
N**** G40;
Followings are examples for left and right offset:













07.2005

- 22 - Appendix1ISO codes FW
5.14.1 Offset (D, H)
Users can use an offset code (H***) to determine an offset value. Each offset code
corresponds to an offset value. These codes are stored in the file of offset. sys, which will
be loaded into the machine automatically after the machine is turned on. There are one
hundred offset codes from 0 to 99, the scope of value is from 0.001mm to 99999.999mm.
Users can use the following format to appoint a value to an offset code:

H***=________

5.14.2 Offset start

The first movement block
to offset is called offset
start block, as shown in
the right figure:

Block I has no offset, the electrode centre's path coincides with the program path. Block II is
the offset starting block, while, as block III has offset from the beginning, it's called the block
with offset.

Cauti on: It' s sti pul ated that movement commands i n offset start bl ock can onl y be
l i near i nterpol ati on, i .e. , no ci rcul ar i nterpol ati on command can be i ncl uded.
Otherwi se, an error wi l l occur.

07.2005

FW Appendix1ISO codes - 23 -
Following are examples of offset starting: (All of the following is about left offset. And right
offset is the same).




















5.14.3 Exampl es of offset

















07.2005

- 24 - Appendix1ISO codes FW








































2) Linear-circular
07.2005

FW Appendix1ISO codes - 25 -













5.14.4 Exampl es of offset cancel l ati on








Note: [1] Offset cancel l ati on can onl y be executed on l i ne segment. An error wi l l
occur i f offset cancel l ati on i s programmed on ci rcul ar i nterpol ati on.

Example: G40 G01 X0.;(Correct)
G40 G02 X20. Y0 I10. J0; (Error)

[2] Offset cancel l ati on i s control l ed by G40 code. When offset val ue i s zero,
the system wi l l move from the current poi nt to the next poi nt di rectl y as
i f the offset were cancel l ed. But the offset mode i sn' t cancel l ed.

5.14.5 Change of offset di recti on

When the offset direction is changed in offset mode (from G41 to G42, or from G42 to G41),
the electrode will move from the end offset point of the first block to the offset end point of
next block, as shown in the following example.


07.2005

- 26 - Appendix1ISO codes FW
H000=0;
H001=5.;
G90 G92 X0Y0;
G41 H001;
G01 X10.;
G01 X20.;
G42 H001;
G01 X40.;
G40 H000G01X40.Y1.;
M02;

5.14.6 G92 i n offset mode

When G92 code i s programmed i n offset mode, offset i s cancel l ed temporari l y.
However, offset wi l l be appl i ed i n the next bl ock i n
the same way as i n offset starti ng bl ock, as shown i n
the fol l owi ng fi gure.

Example: N0001 G41 H000 G01 X300 Y900;
N0002 X300 Y600;
N0003 G92 X100 Y200;
N0004 G01 X400 Y400;
N0005

5.14.7 Overcut
When machining path is very small and electrode radius is large, overcut may occur. The
following are examples.

[1] In the following figure, if the
electrode radius is larger
than the circle radius.
Overcut will occur, as
shown below.

[2] If the electrode radius is large than offset value, overcut will occur, too.
[3] When overcut occurs, the program will stop.

Electrode path
Program path
4
07.2005

FW Appendix1ISO codes - 27 -
5.15 G50, G51, G52 (Taper cutti ng)

Taper cutting is the cutting with wire clining at the desired angle along the defined direction.

G50 cancels taper.

G51 is used to define that wire clines to left (along wire feed direction).

G52 defines that wire clines to right (along wire feed direction).

5.16 G54,G55,G56,G57,G58,G59 (Coordi nate System 05)

These codes are used to select work
coordinate system (05). In total, there
are six coordinate systems that can be
selected. Defining a coordinate system is
to facilitate programming. The codes of
this group can be used with G92.

G92 can only define a certain value as
coordinate of current point in work
coordinate system. It can't appoint this
value as coordinate of current point in all
coordinate systems.


G54 coordinate system 0
G55 coordinate system 1
G56 coordinate system 2
G57 coordinate system 3
G58 coordinate system 4
G59 coordinate system 5

Example: G92 G54 X0 Y0;
G00 X100 Y100;
G92 G55 X0 Y0;

In the above example, first, the current point is defined as the origin of coordinate system 0.
Then, 100m is moved along both X and Y axes at high speed. And this point is defined as
07.2005

- 28 - Appendix1ISO codes FW
the origin of coordinate system 1.

5.17 60, G61 (Upper and lower heteromorphism)

G60 closes the function of machining work-pieces with upper and lower heteromorphism, while
G61 opens it. When this function is on, the following coeds shouldn't be used: G74, G75, G50,
G51, G52, etc.

The separation symbol between codes for upper shape and codes for lower shape is ":", while
codes for upper shape is on the right.

Program samples for work-pieces with upper and lower heteromorphism.

Example 1:
G92 XYUV;
H002=.323;
C034;
M98 P1111;
M02;
;
N1111 G61 G41 H002;
G01 X0 Y10. : G01 X0 Y10.0;
G02 X-10. Y20. I0 J10. : G01 X-10. Y20. R5.;
X0 Y30. I10. J0 : X0 Y30. R5;
X10. Y20. J-10. I0 : X10. Y20. R5.;
X0 Y10. I-10. J0 : X0 Y10.;
G40;
G01 Y0 : G01 Y0;
G60;
M99;

Example 2:
G92 X0 Y-300. U0 V0;
H000=300;
M98 P0010;
M02;
;
N0010 G61 G42 H000;
G01 X0 Y-250. : G01 X0 Y-250.;
G01 X0 Y-200. : G01 X0 Y-150.0;
09.2005

FW Appendix1ISO codes - 29 -
G03 X76.537 Y-184.776 I0 J 200. : G01 X76.537 Y-184.776;
X141.421 Y141.421 I-76.537 J 184.776 : X106.066 Y-106.066;
X184.776 Y-76.537 I-141.421 J 141.421 : X184.776 Y-76.537;
X200. Y0 I-184.776 J 76.537 : X150.Y0;
X184.776 Y76.537 I-200. J 0 : X184.776 Y76.537;
X141.421 Y141.421 I-184.776 J -76.537 : X106.066 Y106.066;
X76.537 Y184.776 I-141.421 J -141.421 : X76.537 Y184.776;
X0 Y200. I-76.537 J -184.776 : X0 Y150.;
X-76.537 Y184.776 I0 J -200. : X-76.537 Y184.776;
X-141.421 Y-141.421 I76.537 J -184.776 : X-106.066 Y106.066;
X-184.776 Y76.537 I141.421 J -141.421 : X-184.776 Y76.537;
X-200. Y0 I184.776 J -76.537 : X-150.Y0;
X-184.776 Y-76.537 I200. J 0 : X-184.776 Y-76.537;
X-141.421 Y-141.421 I184.776 J +76.537 : X-106.066 Y-106.066;
X0 Y-200. I76.537 J 184.766 : X0 Y-150.;
G40;
G01 X0 Y-300. : G01 X0 Y-300.;
G60;
M99;

5.18 G74, G75 (Four axes moved simultaneousl y)

According to the data of X, Y, U and V input, work-pieces with upper and lower heteromorphism
can be machined. G74 turns on the function of 4 axes moved simultaneously, while G75 turns it
off.

Note: This function can only support linear interpolation code (G01). The codes that this function
can't support are: G02, G03, G50, G51, G52, G60, G61.

Example:
H000=10
G92 X0 Y-10.;
G41 H000;
G74;
G01 Y0;
X10.;
Y10. U-3. V-4.;
X5. U0 V0;
X0 U3. V-4.;
Y0 U0 V0;
09.2005

- 30 - Appendix1ISO codes FW
G75;
G40 Y-10.;
M02;

5.19 G80 (Contact)

Format: G80 +an axis +direction

When this code is executed, the appointed axis moves along the defined direction until it
contacts with the work-piece.

Example: G80 X-;
The electrode moves along negative
direction of X axis until it contacts with
work-piece, then it stops. When the
electrode contacts with work-piece, the
contact action is repeated for the appointed
times. It moves backward for a certain
distance after each contact. Then, it moves
again until it contacts with work-piece. It
stops after the action has been repeated for
the appointed times, as shown in the
following figure:

When the electrode approaches work-pieces at a certain speed (contact speed), the
electrode doesn't stop where it contacts. It moves backward for a distance (ST-Backlength).
Then, it moves to contact with work-piece, and backward again. After this action has been
repeated for ST-Times, it stops where it contacts with work-piece. In this way, the contact
point is surely found. The following three parameters can be set in the machine submode of
parameter mode:

Contact speed: The max. contact speed is 255, The larger the number, the lower the speed.

ST-Backlength: the distance that the electrode retracts, expressed in m.

ST-Times: The number of times for the electrode to contact work-piece. The max. number is
127, usually set at 4.
Cauti on: When sel ecti ng di recti on, pl ease use the symbol of " +" to i ndi cate
posi ti ve di recti on, " -" for negati ve di recti on. And the symbol of " +" can' t be omi tted.
07.2005

FW Appendix1ISO codes - 31 -
5.20 G81 (Back to machine limit)

Format: G81 + an axis + direction

When thi s code i s executed, the machi ne moves to the machi ne' s l i mi t of the desi gned
axi s al ong the appoi nted di recti on.

Example: G80 Y-;

The worktable moves to the negative limit of Y axis, and stops.
The process back to the limit is shown in the figure:
As shown in the above figure, when it reaches the limit, it slows down instead of stopping
immediately. After over running, it moves backward for a certain distance, when it arrives at
the limit again, it stops.

5.21 G82 (Half way movement)

When thi s code i s executed, el ectrode moves to the mi ddl e posi ti on of the current
poi nt and start poi nt on the desi gned axi s.

Format: G82 + an axis

Example: N0001 G92 G54 X0 Y0;
N0002 G00 X100 Y100;
N0003 G82 X;

The movement process is as shown right:

5.22 G90, G91 (Absolute / Incremental coordinate command)

G90: After this code is executed, all coordinate values are input in the absolute mode, ie,
coordinate values are calculated with origin of work coordinate system as the
reference point.
G91: After this code is executed, all coordinate values are input in the incremental mode, ie,
the coordinate value of current point is calculated with the previous point as the
reference point.

Example for absolute coordinates
N0001 G90 G92 X0 Y0;
N0002 G01 X20. Y15.;
07.2005

- 32 - Appendix1ISO codes FW
N0003 G02 X60. Y15. I20. J0;
N0004 G01 X80. Y30.;

Example for incremental coordinates
N0001 G91 G92 X0. Y0;
N0002 G01 X20. Y15.;
N0003 G02 X40. I20.;
N0004 G01 X20. Y15.;

5.23 G92 (Setti ng coordi nate val ue for current poi nt)

You can set your desired value as the coordinate of current point with G92 code.

Example 1): G92 X0 Y0; ...The coordinate value of current point is (0, 0)

Example 2): G92 X10 Y0; ...The coordinate value of current point is (10, 0)
Notes:
[1] The functi on of radi us offset i s cancel l ed temporari l y when G92 code i s
programmed i s offset mode. When the next bl ock i s executed, the offset wi l l be
set up agai n.
[2] Each program shoul d have G92 at l east once. Otherwi se, an uni magi nabl e error
may occur.


6 X, Y, U, V (I, J) axes

Coordinate axis is an element that can move the worktable or spindle. It's a word in programming,
which consists of an address of the axis to move and a following data. The data indicates the
amount of movement. And it can be determined either in absolute mode or in incremental mode.
With respect to the wire, the axes and their directions can be
determined in the following way:

Facing the worktable, the left-right direction is X axis with the left
negative and the right positive; the forward-backward is Y axis
with forward positive and backward negative. The axis of upper
wire guide wheel parallel to X axis is U axis, while the other axis
(parallel to Y axis) is V axis. Their directions are determined in
the same way as X and Y axes.

07.2005

FW Appendix1ISO codes - 33 -
I and J are parameters used in circular interpolation command.

I and J, corresponding to X and Y, are coordinate of the arc centre relative to the starting
point of the arc. Values following them shall be incremental ones.

The value to be input will be different if the unit is different, as shown in the following sheet:

Unit Max. Command Min. Command
Metric 0.001 mm 99999.999 mm 0.001 mm
British 0.0001 inch 9999.9999 inch 0.0001 inch


7 Taper cutting

7.1 Input parameters for taper cutting

Several data shall be input in advance to execute taper cutting. Otherwise, taper can't be cut
correctly even if it has been set in the program. In this system, the following three data shall be
input to set a taper cutting; distance between the upper wire guide wheel and top of worktable,
distance between the lower wire guide wheel and top of work-piece, height of work-piece. Please
input these three parameters in machine submode of parameter mode.

The size on the main program surface consists with the size programmed. Another surface which
has requirement on dimenision is called secondary program surface.

Sample:














G92 X-5000 Y0;
G52 A2.5 G01 G90 X0; wire clines to right for 2.5
G01 Y4700;
G02 X300 Y5000 I300;
G01 X9700;
.
.
.
G01 Y0;
G50 G01 X-5000; to cancel taper
M02;

Main program
surface
secondary
program
surface
07.2005

- 34 - Appendix1ISO codes FW
7.2 Starting of taper cutting

The taper cutting starts in the way as shown in the following figure. Like OFFSET, it can't be
started with circular commands (G02, G03).











The end of taper cutting is shown in the following figures.













07.2005

FW Appendix1ISO codes - 35 -
Common taper cuttings are shown in the following figures:
















7.3 Connection in taper cutting

In taper cutting process, when intersection points of conical path and work-pieces upper or lower
surface can't be calculated, a striking angle R will be inserted automatically. And circular cutting
will be executed, as shown in the following figures:

[1] Linear-circular
















07.2005

- 36 - Appendix1ISO codes FW
[2] Circular-linear
















[3 ] Circular-circular







07.2005

FW Appendix1ISO codes - 37 -
7.4 Coni cal angl e and stri ki ng R

When a striking angle R is inserted in taper cutting, oblique cylinder shapes will be formed if
the same arc is inserted on both the work-pieces upper and lower surfaces, as shown in the
following figures: Examples for taper cutting with same R on upper and lower surfaces:































07.2005

- 38 - Appendix1ISO codes FW































It s al so possi bl e to i nsert arcs of di fferent si ze on upper and l ower surfaces, i .e.,
operators can appoi nt di fferent stri ki ng R on work-pi ece s upper and l ower surfaces.

The programming method is:

The first R (R1) defines a striking
angle on the main program surface,
and the second R (R2) defines a
striking angle on the auxiliary surface.
07.2005

FW Appendix1ISO codes - 39 -
Example: G01 X-Y-R1-R2-;
G02 X-Y-I-J-R1-R2-;
G03 X-Y-I-J-R1-R2-;
With this command and the movement
command in the next block, the striking
angle R whose radius has been appointed
will be inserted. In this case, it must be in
offset mode (G41, G42) or taper cutting
mode (G51,G52).

When both of offset and taper cutting
modes are cancelled (G42, G50), the
striking angle R wont be inserted.

7.5 Constant taper and variable taper
To start and end the constant or variable taper, a line must be used.
Example:
G52A0G01X10.;
A2.0G01.; form here, add taper 2.0 degrees at once.
G52A2.0G01X10.; from this line, gradually add taper angle 2.0 degrees in oblique line
manner.
G50A0G01; from here, cancel the taper angle 2.0 degrees atonce.
G50G01; from here, gradually cancel the taper angle 2.0 degrees in oblique
line manner.
A1.; change the current taper angle. Note that if, in simulative
excuecution, the error message arc----arc or line----arc displays,
the taper angle change can not be realized here.
If the error message Overcut or arc radius too large appears, the upper surface of the machined
work-piece (lower surface in the program) will distort where error message appears. If you ignore
the distortion you can start machining by reducing the thickness of the work-piece.

In taper machining, the displayed images are the actual path of the upper and lower surface path.
If one wants to see the upper and lower path of the work-piece before machining, in the manual
F6 parameters, he can set the distance between table surface and upper guide wheel to the scale
reading of the quill. And the distance between table surface and lower guide wheel is factory-set.
The work-piece height is the actual value of the work-piece thickness value.




07.2005

- 40 - Appendix1ISO codes FW
8 M code

8.1 M00 (Pause command)

After M00 code is executed, the program stops running. It has the same function as single
block pause. After Enter key is pressed, the program continues to run.

For example:
C000;
M00;

G01 X10.;

8.2 M02 (Program end)

M02 code is program end command. Codes after M02 won't be executed. After M02 code is
executed, the status of all modular codes are reset. Then, the system is ready for users to
input new commands.

Followings are the codes to be reset and the status of these codes after reset:








It means that, if the above-mentioned codes appear in the previous program, these codes
won't have effect on the next program to be executed unless you use them again.

For example, if the program being executed has G05 code, and no G09 code exists before
M02 code, the function of X mirror image won't take effect when executing the next program.
M02 can reset G05 to G09 unless you use G05 code again in the next program.

8.3 M05 (Contact neglect)

A M05 code neglects contact once. When the electrode contact switch work-piece and stops,
please use this code if you want to move the electrode away.

07.2005

FW Appendix1ISO codes - 41 -
Note: A M05 code takes effect only in one block where it's contained.
Example 1:
G80 X-;.........to move along negative direction of X axis until the electrode
contacts with work-piece.
G90 G92 X0 Y0;...........Set the current point as (0,0).
M05 G00 X10.;.........Neglect contact and move the electrode along positive
direction of X axis for 10 mm.

Example 2:
G80 X-;.......Move along negative direction of X axis until the electrode
contacts with work-piece.
G90 G92 X0 Y0;........Set the current point as (0,0)
G00 X1. M05;.........Neglect contact and move the electrode to the position where
X is 1.0.
G00 X10. Y5.;......Contact is valid.

8.4 M98 (Subprogram call)

Users can use M98 code to define the No. of subprogram to be called.

Format: M98 P**** L*** ;

For the details of this code, please refer to the section of "subprogram".

8.5 M99 (Subprogram end)

M99 is the last block of a subprogram. After this code is executed, the system returns back
to the main program, and executes the next block.


9 Subprogram

Some program blocks may appear several times in one program. If these blocks can be
stored in one fixed program, and we use this fixed program instead of the program blocks,
programs will be simplified and shortened.

Such a fixed program is called a subprogram. Programs containing subprograms are called
main program. As sequence No. (N****) is available, it's possible for us to call subprograms.

07.2005

- 42 - Appendix1ISO codes FW
To define a subprogram, we design a sequence No. at the top of the program blocks. When
we want to call it in the main program, all we have to do is to use this sequence No. When a
subprogram is called, it'll be treated as a single block. One subprogram call code can only
call one subprogram. Of course, a subprogram can call other subprograms. The max.
sequence No. is 9999. M99 code is the end symbol of a subprogram. After executing M99
code, it returns back to main program to execute the next block.


Following is the subprogram's format:

The format to call a subprogram in main program is as
follows:
M98 P**** L***
Note: P****: sequence No. of the subprogram to be called.
L***: the number of times to call the subprogram, if L*** is omitted, this subprogram is
called only once; when "LO" is input, this subprogram won't be called. The number
following the address "L" can't exceed three digits, that means, the max. times to call a
subprogram once is 999, e.g.: L5.

Subprograms can be called by a subprogram. A subprogram is called by a main program,
other subprograms are called by this subprogram, this is called nesting, as shown in the
following figure:

Note: In this system, the nesting of subprogram shall be no more than 7 levels.














07.2005

FW Appendix1ISO codes - 43 -
10 Calculation

The operation symbols that can be used in this system are: +, -, dH*** (dH***).

Note: " d" i s a 1-di gi t number.

[1] Addresses available

The following addresses can use operation symbol in formulas:

category Addresses
Coordinate value X,Y,U,V,I,J
Value assignment H

[2] Priority

Priority is the sequence to be executed.

The priority for operation symbols in this system is as follows:

dH***, first
+,- second
[3] Writing of an operation formula

One operation formula can only be written in one block.

Ex1: H000=1000;
G90 G01 X1000+2H000;
Linear interpolation along X axis will be performed until X is 3000 um.

Ex2: H000=320;
H001=180+2H000;.............H001 is equal to 820.


11 H Code (Offset)

An H code is actually a variant. Each H code stands for a certain value, which can be input
through keyboard or defined with a value assignment statement in a program, as shown
below.
07.2005

- 44 - Appendix1ISO codes FW
H000=500.001;

Following is the format for an H code: H***

It means that a 3-digit number should follow the address "H", e.g.: H010.

There are one hundred H codes (H000H099). While, the range of H value is 99999.999
mm.

An H code can be used as a variant in programs.

Example: H005=90.07;
G01 X50.1+5H005;

It moves to the position of 500.45 mm (50.1+590.07) with linear interpolation along X axis.

H codes can be used into addition, subtraction and multiple. For details, refer to the section
"Calculation".

Example: H100=H010+10-2H000;
If H010 is 100 and H000 is 20,
H100=100+10-220=70


12 R striking angle function

R striking angle function means that an arc is applied at a place where two curves meet, as
shown in the following figures.








Linear-Linear Linear-Circular Circular-Circular

The radius of the arc shall be defined in a program. This arc shall be tangent to both curves.
R striking angle function shall be defined in the following way:
07.2005

FW Appendix1ISO codes - 45 -
[1] To define R striking angle function, please place an address "R" and radius of the arc
after the movement code for the first curve. The address R, radius, and the movement
code for the first curve shall be in the same block.

Example: G01 X_Y_R_;
G02 X_Y_I_J_R_;
G03 X_Y_I_J_R_;

The above commands mean that an arc whose radius is R will be added between the
movement curve of this block and the movement curve of next block. R striking angle
function is executed only when offset is effective (G41, G42). When offset is cancelled, R
striking angle function will be neglected. Therefore, after G40 cancels the offset, even
though you program R striking angle function in the program, no arc will be added between
the two curves. It moves according to the program path. When the used H code is zero, R
striking angle function takes effect.

[2] R striking angle function won't be executed if R striking angle function is defined after
G00 code.

[3] Following is an example with offset.







07.2005

- 46 - Appendix1ISO codes FW
13 T code

[1] T84, T85 (Pump ON/OFF)

T84 code turns on flushing. After this code is executed dielectric spays from the upper and
lower nozzles. This code shall be placed before machining code in a program to avoid that
wire breaks due to no flushing. Following is an example:

Example:
G92 X0 Y0
T84;.to turn on flushing
T96;.to start wire feed
C007;
H000=110
G41 H000;
G01 X5.0;machining command
G021;
G001 X5.;
G001 X15.;
Y10.;
X5.;
Y0;
G40 G01 X0;
T85 G01 X0;
T85 T87;..to turn off flushing and stop wire feed
M02;

T85 turns off flushing. And this code is executed, dielectric stops spraying.

[2] T86, T87 (Wire feed ON/OFF)

T86 code turns on wire feed motor. After this code is executed, wire starts to move at high
speed. This code shall be placed before machining codes in a program to avoid wire break
due to discharging at the same segment. See the above example.

T87 turns off wire motor and stop wire feed.

Das könnte Ihnen auch gefallen