Professional Documents
Culture Documents
380 • X90
Programming manual
ROBOFIL
240SL•440SL 5. ISO language: Custom macro B
240cc•440cc
380•X90 6. Command words
7. CT-Expert
Programming manual
8. Installation of the software
9. CT-Graphic preview
IMPRESSUM
0. Table of contents
- Using the manual 0.8
- Special case : ROBOFIL 380 0.8
6. Command words
Command words 6.3
- Movements and machining in the Machine system of coordinates 6.4
- Movements and machining in the Part system of coordinates 6.4
- Predefined movements 6.5
- Technologies and machining settings 6.5
- Auxiliary functions 6.6
- Execution of programs 6.6
7. CT-Expert
Introduction 7.3
Utilization of a sequence in an ISO program 7.4
File management 7.4
Basic menu 7.4
CT-Expert user interface 7.4
- Keyboard 7.5
- Programmable keys (soft keys) 7.5
Automatic construction of a sequence 7.6
- Principle of operation 7.6
This document serves mainly for preparing and perfecting programs for ROBOFIL machines equipped with
the CT-Millennium numerical control. It consists basically of the following:
- A list of command words available to the user in direct interaction mode (MDI)
- A description of the CT-Expert utility for selecting and preparing machining sequences
• The general table of contents at the head of the document gives the contents of each chapter, while at
the start of each chapter there is a detailed table of contents.
• The following pages will be particularly useful for finding quickly the information most frequently required:
- List of G functions (ISO language) page 2.1
List of M functions (ISO language) page 3.3
- List of command words used in MDI mode page 6.1
• In chapter 5 (Macro - instructions B of the ISO language), reference is made to SYSTEM parameters that
govern the behavior of certain Macro instructions.
These parameters are not directly accessible to the user. If the default selection is not satisfactory, contact
the Charmilles after-sales service who will supply the information required for gaining access to the
SYSTEM parameters so as to set the desired values.
The basic version of the ROBOFIL 380 is not equipped with the automatic threading/rethreading
system.
Because of this the ISO parameters and instructions concerning this function do not apply to
this model.
LOCAL =
G93 + M98 (ROT, SCF)
ABSOLUTE = Ruler
The positions of each axis in the two systems of importance for machining, namely Machine and Part, are
displayed simultaneously in most of the screen pages.
An ISO block is composed of words. i.e. a letter usually followed by a numerical value.
Examples
X-1000. S 101
Function Limits
G Machining commands 00 to 99
D Offset selection 0 to 15
E Setting type 1 to 99
IJ Center co-ordinates
R Corner radius
KL Center co-ordinates
- auxiliary programming surface
K Corner radius
- auxiliary programming surface
Notes:
- The signs in parentheses ( ) can be used for inserting comments that will be ignored during
execution
- Certain letters may have a different meaning in specific ISO instructions.
The presence of the decimal point changes substantially the meaning of the values specified.
Example
X1 0.001 mm or 0.00001 inch
X1. 1 mm or 1 inch
Example
X 1.234567 become 1.234 mm or 1.23456 inch
Angles can be specified in decimal values of degrees (rotation angle or taper angle).
The minimum angular increment that can be input is set to 0.00001 degree.
This level of precision can be changed to 0.001 degree by means of the box "Low precision Angle" in the
screen page EXE - Service - Machine Configuration.
- Do not program more than 3 consecutive lines with M code without G code
- If in the screen page EXE - User Parameters the parameter ATH is programmed at the value 2 (move on to
the next program in the event of unsuccessful rethreading) the lines that follow must be programmed in this
order, without intermediate lines:
G11 ; machining tables
S501 ; selection of a setting
M60 ; threading
G92 X Y ; definition of the part system of coordinates
G01 G42 ; linear movement, taking of offset
The table below allows to locate quickly any ISO G command. Each command is either non-modal (nm) or
modal (characterised by a group number 01 to 14).
The concept of modal /non-modal is explained later in this introduction.
Numerical index
Definition: once specified, a modal G command remains effective until another G command of the same
group is specified.
Multiple G commands from different groups specified in the same block become all effective.
The commands denoted with a star * in above table are issued automatically when power is turned on or
when the RESET key is pressed.
(Exception: in group 04 (G22 - G23), the ∆limit function∆ state is not altered by the RESET key).
In group 06, (G20=inch, G21=metric), the unit status prevailing before RESET or POWER OFF is restored
after RESET or POWER ON.
On an EDM-wire machine, only the XY plane can be used, thus the G17 command (group 02) is
superfluous.
Move functions
Mode selection
Taper programming
Special tapering
Programming of an attachment
Macro-instructions B
Options
Program execution
Macro-instructions B
Move functions
Syntax G00X_Y_
G00U_V_; (MDI only, or taper mode UV)
When the rapid traverse command is specified, the machine moves along each axis independently at the
feedrate 15 mm/s. Therefore, the movement along each axis does not necessarily terminate at the same
time.
Example:
Absolute command:
Actual movement
G00X90.Y20.;
End point
Incremental command:
G00X60.Y-30.;
4579
Syntax G01X_Y_
G01U_V_; (MDI only, or taper mode UV)
The machine moves linearly along each axis to the point specified by the dimension words.
Example:
Absolute command:
G01X35.Y10.;
Incremental command:
G01X25.Y-20.;
4580
Syntax G02X_Y_I_J_;
G03X_Y_I_J_;
The machine moves along the arc to the end point specified by dimension words X and Y. The coordinates
of the centre of the arc are specified by dimension words I and J, as incremental values viewed from the
start point of the arc. This applies whether the end point command is absolute or incremental. The machine
moves along the arc either clockwise or counterclockwise, according to whether the G02 or G03
command is specified.
Example:
Incremental command:
G03X-15.Y15.I-15.;
G02X-20.Y-10.I-12.5;
Notes:
- An arc belonging to multiple quadrants
can be specified in one block. If the start
point and end point of the arc are located End point
in a different quadrants, the arc is a multi- Start point
quadrant arc. Also, if the start point and
end point are within the same quadrant and
the end point is behind the start point as When the end point is
illustrated below, the arc becomes a multi- within this area, the
arc becomes a multi-
quadrant arc. quadrant arc
A corner radius can be inserted between two consecutive interpolation commands (G01, G02, G03).
Specify the radius after the address R.
The move commands are programmed ignoring the corner radius command. The corner radius command
can be inserted between a straight line and an arc, between two arcs, or two straight lines. The corner
radius command cannot be specified in the MDI mode.
Example:
(Incremental mode)
G02X-15.Y15.J15.R2.5;
G01X-20.R2.5;
G02X-15.Y-15.I-15.; Start
4582
Syntax G53
G53X_Y_U_V_Z_;
This command allows to program a move on each of the 5 axes directly in the absolute coordinate system.
Syntax G910 Ap
Syntax G911 Ap
Example:
Absolute command:
End point
G90X40Y25.;
Incremental command:
G91 X30.Y10:
Notes:
- The absolute command and incremental
command can be switched at an optional Start point 4582
G22 defines a rectangular area using the following parameters (stroke limit 2):
Coordinates Coordinates
at point 3 at point 4
1761
• Set the XY coordinates with respect to the machine coordinate system using the origin as the reference point.
The illegal area is inside the rectangle.
• To invalidate stored stroke limit 2, specify the G23 command in an independent block. The machine can then
move inside the invalid area specified by stored stroke limit 2.
• To validate stored stroke limit 2 after it has been invalidated, specify the G22 command in an independent block.
On the EXE screen √ User Settings screen, it is possible to indicate if the defined zone is valid or not.
On the INFO √ Other info screen, the current mode (G22 or G23) is displayed, as well as the coordinates
of the 2 points defining this zone.
Since the feedrate command system is generally fixed according to the machining mode, it is not usually
necessary to specify these G commands.
This G command specifies the feed per minute of the worktable or wire by a numeric value after F. The
command increments are as follows.
Command increments
Example:
F120 (no decimal point): Specifies 1.2 mm/min or 0.012 inch/min.
F0.6 (with decimal point): Specifies 0.6 mm/min or 0.6 inch/min.
Reduction of User Parameter FF. Fore example, the command G95 F80 will set the frequency at 80% of its
nominal value.
The input units can be set or changed either by setting the input units or by specifying the G20 or G21
commands. To change the input units using the G commands, specify the G command in an independent
block before specifying the next G command.
The G20 command specifies inch input and the G21 command specifies metric input. When the input
unit is changed, the units for the movement specified by a move command, the data settings, and the
movement using incremental feed must be changed.
Notes:
- When the power is turned on, the input units remain as they were when the power was turned off.
- Do not specify the G20 or G21 command halfway through programming.
- When setting parameters, use the output units, irrespective of the input units.
- When the input system is changed, the following items must be reset to conform to the new input
units:
- the wire diameter compensation if not offset 0
- the program coordinate system/work coordinate system
- the system settings.
This command specifies that the in-position check has to be made in each intersection.
This means that the feed motors have to reach the commanded position within a pre-set range at each
intersection.
(This mode can also be specified at a movement block level using the non-modal command G09).
- When the wire center moves along the programmed path, the wire offset function is cancelled. This state
is set when the power is turned on or the NC is reset.
- When the G40 command is specified, the wire offset is cancelled at the start of the block where it is pro-
grammed.
- When the G41 command or G42 command is specified, the wire moves to the left or right starting with
the next block.
- The G40, G41, and G42 commands are modal, i.e., they remain effective until another G40, G41, or
G42 command is specified, or until the NC is reset.
By specifying these preparatory commands, other commands can be specified, as usual, without
considering wire offset. The path of the wire centre is automatically compensated taking into account its
radius and other factors.
The distance the wire is moved from the specified path is called the offset. A default offset value is loaded
in memory when a standard technology table or a standard sequence are used. The minimum input
increment and maximum programmable dimension are specified below.
If a negative value is set for the offset, the left and right offset are reversed. Setting a negative offset for the
G41 command is equivalent as setting a positive offset for the G42 command, and vice versa.
Programmed path
4583
1757
1757
Programmed path
4586
If the wire is liable to overshoot the workpiece as a result of offset compensation, alarm No. 41 occurs and
machining stops. However, if an Exact Stop command (G09) was performed in the previous block, the
wire moves to the end point of the block, in which case the wire may or may not overshoot the workpiece.
Programmed path
Programmed path
- When the angle at the centre of the arc produced by offset compensation differs substantially with the
programmed arc.
G92X0Y-40.0;
G41G01G91Y15.0;
G03J25.0; G03Y50.0J25.0;
G40G01Y-15.0; Y-50.0J-25.0;
M02;
Programmed path
1758
Alarm No. 41 occurs in the above case because the compensated arc exceeds 360°. In this case, in the
program, divide the arc into two arcs, whose angle at the centre is each 180°.
Wire centre
Programmed path
Programmed path
Note:
If an amount less than the offset is cut, no alarm occurs, but a finish allowance may be produced.
Note 3: Precautions
• If two (or more) successive blocks without movement are specified with an active offset, the latter can be
temporarily cancelled. In this case, the wire will cut the part as shown in the illustration below :
Programmed path
G01X10.; Overshoot
M --------- ;
Block without
M --------- ; movement
Y-10.;
X10.
• A coordinate system cannot be specified while the offset is being taken into account or cancelled.
• If the M02 or M30 command is specified while the offset is being taken into account or cancelled, the
compensation vector becomes perpendicular to direction of the last movement. Accordingly, the wire
is liable to overshoot the workpiece as shown in point 1.
The following commands specify the inclination of the wire (provided that User parameter TRE is equal
to 1):
programmed.
- When the G52 command is specified, the upper guide moves to the right of the programmed path when
viewed along the direction of movement, starting at the following block.
These preparatory commands can be specified or changed in any block of a program (if TRE = 1).
The angle of wire inclination is specified by address T. The minimum input increment is 0.001° and the
maximum programmable dimension is Ø45.000°.
Specify the angle of wire inclination relative to the vertical. Specify a positive value regardless of whether
the angle is to be tilted to the left or right. Specifying a negative value when the wire is inclined to the right
is equivalent to specifying a positive value when the wire is inclined to the left, and vice versa. Specify the
angle of wire inclination before or in the same block as the G51 or G52 commands, which specify left or
right for the wire inclination. The angle of wire inclination can be changed halfway through a program.
Start
Programmed surface
4589
Programmed surface
Programmed surface
Programmed surface
Programmed surface
4591
Programmed surface
Programmed surface
If the taper angle is modified during the program, the path executed will depend on the discontinuity angle
Alpha between the segment of modification and the preceding segment :
- discontinuity Alpha α > = 1° : intersection
- discontinuity Alpha α < 1° : contact
Case1: Intersecting
The start point of the block specifying the modification corresponds to the specified angle of inclination.
Discontinuity
Example :
(incremental mode) Angle modification
G51T15. ...;
Programmed surface
G01X10.;
G01Y-15.T5.
Case 2: Contacting
The end point of the block specifying the modification corresponds to the specified angle of inclination.
Example 1
Upper guide
Taper angle 10° path
Discontinuity α < 1°
Taper angle 5°
Programmed
Example : surface
(incremental mode)
Lower guide path
G52T5. ...;
G01X10.;
G01X10.T10.; Angle modification
G01X15.
Taper angle 5°
Discontinuity α = 0
Example :
Programmed surface
G51T5. ...;
Lower guide path
G01X10.;
G02X..Y..I..J..T15.;
G01Y-10.;
In the commands G60, G61, G62 and G63, the rounding is obtained by GO1 Rº, and not by GO2 or
GO3.
To machine a corner with a cylindrical frustum, specify the G60 corner radius command.
The G60 command is modal.
1759
1759
- To machine a corner with a circularly conical frustum, specify the G61 corner radius command.
- To machine a line-line intersection ("rotating spindle" mode), specify 0 after address R.
- The G61 command is modal, it is selected by default when the machine starts up.
Example :
O1000
G91
G40
G50
G92X0Y-25.0I40.J0.;
G52G42G01Y15.0T5.0;
X10.0G61R0;
Y20.0R5.0; Reference plan
(J0.)
X-20.0R0;
Y-20.0R5.0; Secondary plan
(I40.)
X10.0; Start
G50G40Y-15.0;
M02;
Case in which the taper angle is different before and after the intersection:
The radius r' in the secondary plane can be calculated in three different ways with the commands G61,
G62 and G63
1759
O1000
G91
G40
G50
G92X0Y-20.0I40.J0.;
G52G42G01Y10.0;
X10.0G61R0T2.0;
Reference plan
Y20.0R5.0T5.0; (J0.)
X-20.0R0T2.0;
Y-20.0R5.0T5.0; Start Secondary plan
X10.0T2.0; (I40.)
G50G40Y-10.0;
M02;
1759
1759
This function enables the operator to create an attachment for holding the scrap (slug) without any explicit
insertion of an additional block in the ISO program.
In both cases, the processing is performed within an optional Stop instruction M01.
These commands make it possible to modify by ISO program the parameter Mode Attachment scrap
accessible in the screen page EXE-Options-User Parmeters-Advanced Parameters.
Syntax: G89P_
This command makes it possible to modify by ISO program the parameter REMAINING QUANTITY
accessible in the screen page EXE-Options-User Parmeters-Advanced Parameters.
Program execution
G04 Dwell
Syntax G04X_;
G04P_;
This command specifies that the machine temporarily stops for a certain time during operation.
Specify the dwell time with a numeric value after address X or P. A decimal point can be used with X, but
it cannot be used with P. The command increments is 0.001 sec.
Example:
G04X25. or G04P25000: specifies a dwell time of 25 seconds.
Note:
Wether machining will occur during the dwell time depends on the specified G command of group
01. If G00 is specified, the machine will not perform machining. If a G command of group 01 other
than G00 is specified, the machine will perform machining.
Syntax G10P_B_;
Syntax G11(SVA,<file name>) Saving of the table of variables in the specified file
G11(LVA,<file name>) Retrieving of a table of variables previously saved
The instruction G11 enables you to save and retrieve later the contents of the table of variables VAR (1 to
39 positions).
The files are first sought in the directory currently being used, and then, if not found, in the Charmilles refe-
rence directory U:\CT_DATA.
Command words equivalent : SVA, <file name>
LVA, <file name>
Syntax G13 Xx
Modification of some parameters currently being used:
Parameter Code letter
INJ Injection B
AJ Average voltage J
ATT Length of entry path L (flushing machines)
WS Wire speed R
SVO Speed stop V
WB Wire tension X
B Time between 2 pulses Y
Example:
G13 R10. → the wire speed changes immediately to 10 m/min.
Note:
The machining parameter FF can also be modified by program by 20% to 120% of its nominal value
by means of the instruction G95 Fx (20 < x < 120).
Syntax G28X_Y_U_V_Z_;
This command induces the specified axes to move:
- to the axis Reference point (G28)
- via a middle point defined by the command coordinates X_ Y_ U_ V_ Z_ (expressed as absolute
coordinates).
Reference point
Middle point
1375
Description of movement:
(1) The selected axes move from current point A to middle point C.
(2) The middle point coordinates are memorised.
(3) The selected axes move from middle point C to Reference point.
(4) The return point completion signal is turned on.
Notes:
- This command is used in mode MDI.
- Wire diameter compensation and wire inclination (taper angle) should be cancelled before
executing G28 command.
- Displacement values to the middle point are absolute or incremental depending on the mode
currently active.
- Moves occur at rapid traverse rate.
G28 command
When G28 is commanded in the wire diameter compensation mode or the taper cutting mode, compensa-
tion and taper vector will be canceled at the middle point and, after the reference point return is comple-
ted, it will be restored.
Reference point
Restore
Cancel
Programmed path
Middle point
1375
Syntax G92 X_ Y_ I_ J_
This command fixes the origin of the Part system of coordinates with respect to the machining start point.
Example:
G92 X60. Y40.
Syntax G93 X_ Y_
This command sets a local coordinate system, with X_ and Y_ as absolute distances from the program
origin set by G92.
To cancel the local coordinate system: issue the command G93 X0 Y0.
Example:
Local
coordinates C
Local
coordinates B
Start Part
coordinates
Machine coordinates
1755
Multi-parts machining can be executed in application of the same principle. For this example, the use of
measured points is mandatory.
Main program:
O0201(MULTI-PARTS); Workpiece - 1 Workpiece - 3
G77P0;
M98P0100;
G77P1;
M98P0100;
G77P2;
M98P0100;
G77P3;
Zero point of machine coordinate system
M98P0100;
1755
M30;
O0100(MULTI-OPENINGS):
G92X0Y0; Set workpiece coordinate system
G90; Absolute
M60; Wire thread
M98P0101; Machining of the shape A
M50; Cutting of wire
G93X150.Y40.;Fixing of the local system of coordinates
G00X0.Y0.; Positioning of the starting point of shape B
M60; Wire thread
M98P0102; Machining of the shape B
M50;
G93X70.Y70.; Fixing of the local system of coordinates
G00X0.Y0.; Positioning of the starting point of shape C
M60; Wire thread
M98P0103; Machining of the shape C
M50; Cutting of wire
G93X0Y0; Cancel local coordinate system
G00X0.Y0.; Positioning at workpiece origin
M99;
G70 Edging
When this command is issued, the wire is moved in the chosen direction until contact with the workpiece
is established. The wire is then moved backward, and the final wire position is stored in Measure Point
specified by p.
Backward distance = 1
4593
When these commands are issued, the machine starts the same centering cycles as in manual mode.
Example 1 Example 2
The comments made for G70 on the specification of the initial move direction (X(Y)d or Bb) apply also to
G71 and G72.
This cycle is mandatory after the dismantling of the wire guides and before precision or taper machining.
A description of this cycle can be found in chapter 9 of the Reference Manual.
When Pp is defined: the command stores the X_ and Y_ values in the Measure Point specified by
p (0 < p < 31).
When Pp is not defined: X_ and Y_ are the coordinates which pre-set a new Machine coordinate sys-
tem, i.e.:
- The machine coordinates X and Y take the values X_ and Y_ entered in the
block G74
- If X_ and Y_ = 0, the current position is defined as being the origin of the
new Machine system of coordinates
Syntax G75 X_ Y_
4594
X_ Y_ are used to pre-set the Machine coordinate system. If X or Y is omitted, the Machine system of coor-
dinates is not updated.
Syntax G78 X_ Y_
Pp: Measure point to store result of calculation (measure type is set to 3) (when P is not specified, a value
of 10 is assumed by default).
B=0
Calculates the centre of the circle that goes
through measured points Pn+0, Pn+1, Pn+2
(by default: P13, P14, P15)
In this case, the other parameters are not
used
4597
B=1
Calculates the centre of a circle that goes
through Pn+0 (by default: P13) and is
tangent to 2 lines which cross at point (X_ Y_)
and are parallel to the X and Y axes.
Note : Precautions
- Once the positioning operations specified by the G70, G71, and G72 commands have started, they
cannot be stopped.
- Feed hold is ignored during the positioning operation specified by commands G75 to G78.
- In program drawing, commands G70 to G79 are ignored.
Example 1:
Part parallel to the axis, wire diameter 0.3 mm
O0100
G91
G70X-0; (1)
G76X0.15; (2)
G75Y-50.0; (3)
G75X-10.0; (4)
G70Y0; (5)
G76Y-0.15; (6)
M00; G75G90X-30.0Y50.0;(7)
M30;
4595
Example 2:
Corner + alignment (part not parallel to the axis)
O0100
G91
G70P13B90 (1)
G75Y-10. (2)
G75X20. (3)
G70P14B90 (4)
G75Y-10. (5)
G75X20. (6)
G75Y20. (7)
G70P15B180 (8)
G78 (9)
G79Q0.B0.
M00
G00X-0.15Y0.15 (10)
G92X0.Y0.
G90G00X-15.Y30. (11) 4596
M30
The ISO G codes of the measuring cycles were described in the preceding pages :
The ISO instructions G940, 941, 942, 943, 945 make it possible to insert 5 supplementary measuring
cycles into the programs.
These cycles are programmed as Macro-instructions.
Their activation, which requires the defining of specific execution parameters, can be performed in three
different ways :
- In an ISO program
Example : G941 Ddd. Aaa. Sss.; Align Edge cycle
- In MDI mode: in the dialog line enter the same ISO instruction, end with Enter, press the Start key
- Just as with G940 and G941, the instructions G78 and G79 calculate respectively the position of the
corner of a part and the angle of rotation of a part in the horizontal plane.
- However, G78 and G79 require the prior execution of 2 or 3 Edge touches, whose results will be
stored in the table of measurement points.
- On the other hand, the Macro-instructions G940 (Corner Cycle) and G941 (Align Edge) execute auto-
matically all the operations on the basis of the parameters supplied.
So it is very practical to use them instead of G70 and G71.
The 5 supplementary cycles can be executed with the choice of unit in mm or inches.
Purpose :
Positioning of the Part coordinates with respect to a corner of the part. If the part is not aligned before-
hand, it is possible to add an Align Edge cycle.
Explanatory drawing :
Start point
Choice of corner
Wire diameter
6478
Start point :
Position the wire about 2 mm from the corner to be measured.
Execution :
The wire performs two touches at the distances X and X+D on the first face, then returns to the start point,
and then performs a touch at the distance Y on the 2nd face.
At end of cycle :
- The corner of the part becomes the origin of the X and Y Part axes
- The center of the wire is set back 1 mm along each axis
- If the Align Edge cycle is requested (Q=1), the angle is calculated from the two measurements on the 1st
face, and the result is automatically inserted in the user parameter ROT.
Purpose :
Measuring the angle of a face of the part with respect to either the X axis or Y axis.
Explanatory drawing :
Rotation increase
Choice of face
Start points
6478
Start point :
Position the wire about 2 mm from the face to be measured :
bottom face on the left (drawing above)
right face at the bottom
top face on the right
left face at the top.
Execution :
The wire performs two touches separated by a distance D on the face in question.
At end of cycle :
- The wire returns to its starting position
- The angle is calculated from the two measurements on the face. The result - increased by the value of
parameter S - is inserted in the User parameter ROT.
Purpose :
Determining the middle of a part by measurements on 2 opposite external faces, either by circumventing
the part, or by cutting the wire and going over the part.
The part must have been aligned mechanically beforehand.
Explanatory drawing :
Start points
6478
Mmm. Dimension of the part in the measuring direction decimal positive > 0.
Tt Type of path 0 or 1
T0 : circumventing of the part
T1 : going over the top of the part with cutting of wire and rethreading.
Start point :
Position the heads at the middle of part along the measurement axis
T0 : wire threaded, at about 2mm on the side
T1 : wire cut, approximately at the middle of the part.
Execution :
The wire will successively perform one touch on each opposing face
T0 : circumventing of the part via the outside
T1 : going over the top of the part, with the succession: threading √ cutting √ threading - cutting.
At end of cycle :
- The center of the wire is exactly at the middle of the part along the measurement axis
T0 : on the side
T1 : above the part
- The corresponding Part axis is set to zero.
Purpose :
Determining the center of a cylindrical part of know radius R, by measuring 3 points at 120° on the
external face.
Explanatory drawing :
Start End
6478
Start point :
With the wire cut, position the heads approximately at the center of the part.
Execution :
The following sequence will be executed once in the direction indicated by parameter Q, and then with a
rotation of 120° and 240° :
Movement towards outside of cylinder √ threading √ Edge touch √ cutting √ return to start point.
At end of cycle :
- The wire is cut
- The center of the wire is at the calculated center of the part
- The center of the part becomes the origin of the X and Y Part axes.
Purpose :
Measuring the alignment angle of two holes with respect to either the X axis or Y axis.
Explanatory drawing :
End at midpoint of
Start distance D
Rotation increase
6478
Start point :
With the wire cut, position the heads approximately at the center of one of the holes :
- the left hole if A is between √45 and +45 (drawing above)
(axis of holes close to X)
- otherwise, the top hole (axis of holes close to Y).
Execution :
Threading, then internal centering cycle (G71) in the first hole
Cutting √ Movement to the second hole (as per parameters A and D)
Threading, then internal centering cycle (G71) in the second hole.
At end of cycle :
- Wire cut M0 : at the exact center of the starting hole
M1 : at the middle of the exact distance between the holes
- The angle is calculated from the measurements of the 2 centers. The result - increased by the value of
parameter S - is inserted in the User parameter ROT.
.
Syntax : G944 Pp X_ Y_
Difference: if the execution of the instruction is interrupted by Feed Hold, pressing the Start key will cause
the normal completion of the movement.
Syntax : G949 X_ Y_
Difference: if the execution of the instruction is interrupted by Feed Hold, pressing the Start key will cause
the normal completion of the movement.
M00 Stop When the block where M00 is specified has been executed, the
machine is automatically stopped.
Machining power supply, wire feed, dielectric fluid supply, and
wire tension automatically turn off.
Cutting is started again by depressing the start key.
M01 Optional stop The optional stop is enabled/disabled by the box OSP of the
(with possibility of creating an screen page User Parameters. After execution of the block in
attachment to hold the scrap) which M01 is specified,
OSP : the machine stops
OSP : M01 is ignored, the machine continues.
(attachment function: see page 3.11)
M02 End of program or sub-program After execution of hte block in which M02 is specified, machining
power supply, wire feed, dielectric fluid supply, and wire tension
turn off automatically. If ∫STOP M02/M03ª is enabled in the
page EXE - User Parameter - Advanced Parameters, power supply
of the axes and pumps turns off automatically.
M07 Upper contact retract Retracts the upper contact to wire threading position.
M08 Emptying of tank + Opening of side See the description on page 3.13
door
M09 Awaiting end of Tank emptying / See the description on page 3.13
Opening of door
M11 Blocking of advanced read Advanced reading is not performed on the block following the ins-
truction in which M11 is specified (see description page 3.13).
M12 Closing of side door + Filling See the description on page 3.13
M13 Awaiting end of door closing / Fil- See the description on page 3.13
ling
M15 Programming of taper mode Modification of the taper mode specified in the User Parameters
page by TRE and UV.
TRE UV
M17 Upper contact advance Moves the upper contact to the working position.
M23 Geometry strategy off Disengagement of the protection strategy (see note below).
M24 Geometry strategy on Engagement of the roughing and finishing precision strategy. The
strategy used improves the geometry of the part on passage
through corners and small radii. Controlled also by ST parameter
(as follows):
ST = 0 machining without strategy
ST = 1 roughing with strategy
minimum frequency = nominal frequency/4
(speed favorized))
ST = 3 roughing with strategy
minimum frequency = nominal frequency/8
(precision favorized)
ST = 2 finishing with strategy
Notes:
•Function M24 enables the strategy on the next angle or radius encountered meeting the
conditions for execution of a strategy (angle or radius value).
This implies that:
- If M24 is on the same line as a geometric segment, the strategy will take place, if necessary,
at the end of the segment.
- If M24 is on a line not containing a geometric definition, the strategy will take place, if
necessary, at the end of the next segment.
•Similary, M23 will cancel the strategy on the next intersection encoutered ; however, a
strategy in course can terminate in the next segment.
This implies that:
- If M23 is on the same line as a geometric definition, no strategy will be enabled at the end
of the segment. Conversely, a strategy already in course will terminate normaly in the next
segment.
- If M23 is in a line not containing a geometric difinition, no strategy will take place at the
end of the next segment. Conversely, a strategy in course can terminate normally in the next
segment.
M27 Protection strategy off No wire break protection strategy in roughing mode.
M28 First level roughing protection Provides standard protection against wire breakage on attack and
strategy on exit from the part or downgraded machining conditions, as well
as deflection compensation prior to programmed stop and end of
program.
M29 Second level roughing protection Enables protection against wire breakage for complex parts.
strategy on Provides protection in case of excess of pollution.
Caution:
M28 and M29 are active only if parameter ST = 1 or ST = 3
(roughing operation).
Notes:
•When M28 or M29 are active, sag (deflection) compensation is performed in the following
cases:
- end of program
- execution of a programmed stop.
In the latter case, machining is resumed at a reduced rate, using an attack strategy to prevent
wire breakage.
M30 End of program or sub-program and When the block where M30 is specified has been executed, the
re-reeling processing is performed as in M02, followed by program hea-
ding.
Automatic power off function is the same as for M02.
M31 Setting of machining counter to zero The display of machining time is reset to zero
M33 Check water temperature Checks that the dielectric temperature is correct.
Execution of further machining operations is postponed as long as
temperature exceeds the preset limit.
Notes:
- This function requires the availability of a temperature measurement system (analogic sensor
or threshold detector).
- This device is optional on some models.
M34 Tank filling If strained level off (M37 enabled): adjustment to the top head
(submerged machining) level.
If strained level on: adjustment to the strained level, provided there
is compatibility with the Z axis position.
M35 Tank emptying Emptying up to empty level if level was above empty level.
(submerged machining) Complete emptying if level was below empty level.
M36 Memorizing of the strained level + The strained level takes the value of current top head level.
Strained level on Strained level becomes the reference for level adjustment.
(submerged machining)
M37 Strained level off Top head level becomes the reference for level adjustment.
(submerged machining)
M40 Dry run state When M40 is specified, discharge turns off, and the feedrate is
set to the dry run speed VSIM.
M40 state is reset by the RESET key or M80.
M43 Upper and lower flushing off Stops the high pressure injection of the dielect-ric through the top
and bottom wire guide.
M59 Preparation on broken wire Can be used by MDI input in suspension mode to prepare and cut
the wire after a breakage or threading failure (normally followed
by an MDI threading instruction M60).
M68 Switch off circulation pumps Allows to stop dielectric circulation while maintaining power and
ventilation on.
M70 Retrace function After executing the current block, retraces the machined path to
the start point.
For details, see the end of this chapter.
M71 Management of the These 3 instructions control the user output signal ∫Execution
M73 ∫Execution enabledª signal enabledª, making it possible to indicate on the outside of the
M74 machine (for example by means of a LED) the status of the current
machining job.
M71: signal ON during execution phases
M73: signal ON permanently (for test purposes)
M74: signal OFF permanently
These 3 functions are modal and cancel each other.
M80 Machining state Turns on the discharge and sets the feedrate to that for normal
machining. Used to reset the M40 command.
M83 Upper flushing enable Opens the valve enabling injection of dielectric through the top
wire guide.
M83 is a modal function.
M86 Lower flushing enable Opens the valve enabling injection of dielectric fluid through the
bottom wire guide.
M86 is a modal function.
M91 Distant alarm enable Allows the alarm signal to be emitted in case of machining default
or M93 programmed alarm.
M93 Distant alarm on Raises the alarm signal (if enabled by M91).
M94 Distant alarm off Resets the alarm signal raised by M93.
M96 Reverse machining completion in Specifies the completion of reverse machining in mirror copy.
mirror copy For details, see section ∫Special programmingª in chapter 4.
M97 Reverse machining in mirror copy Specifies the start of reverse machining in mirror copy.
For details, see section ∫Special programmingª in chapter 4.
Notes:
- If any of the following commands are specified in a block containing a move command, the
command becomes effective from the start of movement:
M06, M07, M16, M17, M23, M24, M27, M28, M29, M31, M40, M43, M80, M83 or
M86, M87 to M95.
When other M commands are specified in a block containing a move command, they become
effective after the movement has been completed.
- When the wire diameter is being compensated or when tapered machining is being performed,
one or two M command can be specified in an independent block. However, three independent
blocks containing M commands cannot be specified in succession.
- If more than one M code is specified in the same block, only the last one will be effective.
M920 QCRw Robot option Selection of a pallet from the magazine, loading in the work area.
Loading or replacement of a pallet. If a pallet is already in position, it is unloaded beforehand.
M921 QCRw Robot option Return of the pallet from the work area to the magazine of the
Unloading of a pallet. QCRw Robot.
For these two instructions, refer to the documentation of the QCRw Robot option.
This function returns the wire to the machining startpoint along the machined path at dry run speed VSIM.
Retrace is for instance useful when several successive passes are needed to reach the desired surface
finish.
1339a
Example of application
1339a
Notes:
- If M70 is specified in a block containing a move command, the return to start point occurs after
execution of the block.
- If M70 is specified in a block containing a move command, neither the offset mode nor tapered
machining mode are cancelled (normally, the offset and taper machining mode are cancelled if the
next block does not contain a move command).
- A G92 command (eventually preceded by G40 or G50) should be added immediately after the
M70 command.
If the space required to store the retrace path is insufficient, an alarm n°64 is issued. Consult the
Maintenance manual for the size modification of the retrace area.
The processing conditions are controlled by 2 parameters of the screen page EXE - Options:
Scrap attachment = 0: no attachment
1: retaining the scrap by an attachment
2: cutting off of the attachment
Length of the attachment = length of the attachment
In both cases, retaining or cutting off, the processing is performed within the block preceding the optional
Stop instruction M01.
If users want the machine to stop on execution of this block, they must activate this function by the User
parameter OSP.
- if the machine is not equipped with the automatic rethreading mechanism, the instruction M01 is
executed, and the machine goes into suspension mode.
The operator must then:
• cut the wire manually
• press CYCLE START
- the distance corresponding to the attachment length is covered at VSIM speed
- execution of the program continues.
- if the machine is equipped with the automatic rethreading mechanism, the instruction M50 (cutting of
wire) is automatically executed, and then:
- the distance corresponding to the attachment length is covered at VSIM speed
- execution of the program continues.
Notes:
- the attachment can only be executed in a block involving movement with machining (G01, G02,
G03)
- the attachment is not modified by the introduction of a scale factor
- the following conditions rule out creation of the attachment:
- taper machining with programming of two planes, with direct piloting of the U-V axes, with
deviation vector
- block with programming of corner rounding R
- program with inverse copy function.
a) Program used successively for creating then cutting off the attachment
G92 X0 Y0;
G87; mode: creation of attachment
G89 P1000; length:1000± = 1mm
G91 G01 Y-5.;
X5.;
Y10.;
X-10.;
Y-10.;
X5.; the attachment starts 1 mm
; before the end of this block
M01; automatic cutting of wire (M50) or
; manual cutting after optional stop
G40 G00 Y5.; completion of
M02; program diagram
G92 X0 Y0;
G88; mode: cutting off of attachment
G89 P1000; length: 1000± = 1mm
G91 G01 Y-5.; execution
X5.; of the path
Y10.; in DRY-RUN
X-10.; mode
Y-10.;
X5.; activation of machining 1 mm
; before the end of this block
M01; optional stop/evacuation
G40 G00 Y5.; completion of
M02 the program
b) Multi-cavities program with creation of attachments for retaining the scrap, machine equipped with
automatic rethreading mechanism
G92 X0 Y0;
G87; mode: creation of attachment
G89 P1000; length:1000± = 1mm
G91 G01 X5.;
Y5.;
X-10.;
Y-10.;
X10.;
Y5.; the attachment starts 1 mm
; before the end of this block
M01; automatic cutting of wire (M50)
G40 G00 X-5.; continuation of the program
G00 Y-15.; 2nd cavity
M60; automatic rethreading
G92 X0 Y0;
G91 G01 X5.;
Y5.;
X-10.;
Y-10.;
X10.;
Y5.; the attachment starts 1 mm
; before the end of this block
M01; automatic cutting of wire (M50)
G40 G00 X-5.; completion of
M02; the program
During the execution of programs, the numerical control performs an advance read of the blocks that follow
the current instruction.
The function M11 forbids this advanced reading and guarantees that the instruction containing it will be
completely executed before the reading of the following block.
This function must be executed in particular before a setting is selected
(example: M11 S2 or M11 S501)
The following instructions are used for managing the side door :
M12 Starting of closing of side door + filling of tank at the level of threading
M13 Starts the closing + filling, then waits for these two operations to be completed
Note:
these codes are executed in Dry Run mode, but are ignored in Verification mode and during restar-
ting operations (HPR - SPR).
They cannot be executed using the direct command MDI.
,62ODQJXDJH6SHFLDOSURJUDPPLQJ
7KHFRUQHUUHFHVVIXQFWLRQ
3URJUDPPLQJ
([DPSOHRISURJUDPPLQJ
3UpFDXWLRQV
6SHFLDOWDSHUSURJUDPPLQJ
,QGHSHQGHQWXSSHUDQGORZHUFRUQHUUDGLL
'HYLDWLRQYHFWRU
$UFGHYLDWLRQYHFWRU
6SHFLI\LQJWKHDQJOHRIZLUHLQFOLQDWLRQLQDQLQGHSHQGHQWEORFN
6SHFLI\LQJWKHKHLJKWRIWKHVHFRQGDU\VXUIDFH
*HQHUDOSUHFDXWLRQV
7DSHUPDFKLQLQJVSHFLI\LQJXSSHUDQGORZHUVKDSHV
2XWOLQH
3URJUDPPLQJ
([DPSOHVRISURJUDPPLQJ
6HOHFWLQJWKHPDFKLQLQJPRGH
3UHFDXWLRQVZKHQVSHFLI\LQJXSSHUDQGORZHUVKDSHV
,IDSURJUDPFRQWDLQVIUHTXHQWO\UHSHDWHGSDWWHUQVWKH\PD\EHVWRUHGDVDVXESURJUDP$VXESURJUDP
FDQEHFDOOHGLQHLWKHUWKHWDSHPRGHRUPHPRU\PRGH$VXESURJUDPFDQDOVRFDOODQRWKHUVXESURJUDP
7KHPD[LPXPQHVWLQJOHYHORIFDOOHGVXESURJUDPVLVDVVKRZQEHORZ
$FDOOFRPPDQGFDQFDOODVXESURJUDPUHSHDWHGO\XSWRWLPHV
&DOORIVXESURJUDP$ &DOORIVXESURJUDP%
5HWXUQ
5HWXUQ
)RUPDWRIDVXESURJUDP
$VXESURJUDPLVFUHDWHGLQWKHIROORZLQJIRUPDW
2;;;; 6XESURJUDPQXPEHU
7KHVXESURJUDPQXPEHULVVSHFLILHGDIWHU2LQ(,$
FRGHRUDIWHUDFRORQLQ,62FRGHDWWKHVWDUWRI 3URJUDP
WKHVXESURJUDP,WLVQRWQHFHVVDU\WRVSHFLI\WKH
0FRPPDQGLQDQLQGHSHQGHQWEORFN
0 (QGRISURJUDP
([DPSOH;0
1RWH
7RPDLQWDLQFRPSDWLELOLW\ZLWKRWKHU1&HTXLSPHQWWKHVXESURJUDPQXPEHUFDQEHVSHFLILHGDIWHU
DGGUHVV1LQVWHDGRIDIWHU2RU
$VXESURJUDPLVFDOOHGIURPWKHPDLQSURJUDPRU
DQRWKHUVXESURJUDPDVIROORZV
,I/LVRPLWWHGWKHQXPEHURIUHSHWLWLRQVEHFRPHV 1XPEHURIUHSHWLWLRQWLPHV
RQH 6XESURJUDPQXPEHU
([DPSOH03/
7KLVFRPPDQGFDOOVWKHVXESURJUDPZKRVHQXPEHULVDQGH[HFXWHVLWILYHWLPHVLQVXFFHVVLRQ$
PRYHFRPPDQGFDQDOVREHVSHFLILHGLQWKHVDPHEORFNDV03B/B
([DPSOH;03
,QWKLVFDVHWKHVXESURJUDPZKRVHQXPEHULVLVFDOOHGDQGH[HFXWHGRQFHDIWHUWKHPRYHPHQW
VSHFLILHGE\WKH;FRPPDQGWHUPLQDWHV
7KHIROORZLQJILJXUHJLYHVDQH[DPSOHRIWKHVHTXHQFHRIFDOOLQJDQGH[HFXWLQJVXESURJUDPV
6XESURJUDP
0DLQSURJUDP
$VXESURJUDPLVFDOOHGIURPDQRWKHUVXESURJUDPLQWKHVDPHZD\LWLVFDOOHGIURPWKHPDLQSURJUDP
1RWH
1HLWKHUWKH0RU0FRPPDQGLVRXWSXWWRWKHPDFKLQH
,IWKHVXESURJUDPQXPEHUVSHFLILHGDWDGGUHVV3LVQRWIRXQGDODUP1RRFFXUV
$VXESURJUDPFDQQRWEHFDOOHGE\HQWHULQJWKHFRPPDQG03[[[[IURPWKH0',XQLW7RFDOOD
VXESURJUDPSUHSDUHWKHIROORZLQJSURJUDPLQWKH(',7PRGHDQGH[HFXWHLWLQWKHPHPRU\
PRGH
2[[[[
03[[[[
0
6XESURJUDPVFDQEHXVHGLQWKHIROORZLQJVSHFLDO
ZD\V
5HWXUQLQJIURPDVXESURJUDP
$IWHUDVXESURJUDPLVH[HFXWHGFRQWUROJHQHUDOO\ 0DLQSURJUDP 6XESURJUDP
UHWXUQVWRWKHEORFNLQWKHPDLQSURJUDP
LPPHGLDWHO\DIWHUWKHEORFNWKDWFDOOHGWKHVXE
SURJUDP+RZHYHUFRQWUROFDQUHWXUQWRDQ
RSWLRQDOEORFNLQWKHPDLQSURJUDPE\VSHFLI\LQJ
WKHEORFNQXPEHUDIWHUDGGUHVV3+RZHYHUWKH
SURFHVVLQJWLPHIRUUHWXUQLQJFRQWUROLQWKLVZD\LV
FRQVLGHUDEO\ORQJHUWKDQZKHQUHWXUQLQJWRWKH
VXEVHTXHQWEORFN,IWKHPDLQSURJUDPLVQRW
H[HFXWHGLQWKHPHPRU\PRGHDGGUHVV3LV
LJQRUHG
7KH0FRPPDQG
,IWKH0FRPPDQGLVH[HFXWHGLQWKHPDLQSURJUDPFRQWUROUHWXUQVWRWKHVWDUWRIWKHPDLQSURJUDP
,I0LVLQVHUWHGDWWKHFRUUHFWSRVLWLRQLQWKHPDLQSURJUDPDQGWKHRSWLRQDOEORFNVNLSVZLWFKLVWXUQHG
RIIWKH0FRPPDQGLVH[HFXWHGDQGFRQWUROUHWXUQVWRWKHVWDUWRIWKHPDLQSURJUDP7KHPDLQSURJUDP
LVWKHQH[HFXWHGUHSHDWHGO\IURPWKHEHJLQQLQJ7KH0FRPPDQGLVUHSHDWHGO\H[HFXWHGZKLOHWKH
RSWLRQDOEORFNVNLSVZLWFKLVWXUQHGRII:KHQWKHRSWLRQDOEORFNVNLSVZLWFKLVWXUQHGRQWKH0EORFN
LVVNLSSHGDQGWKHQH[WEORFNLVH[HFXWHG,I03QLVVSHFLILHGFRQWUROGRHVQRWUHWXUQWRWKHVWDUWEXW
WRWKHEORFNZKRVHQXPEHULVQ+RZHYHUSURFHVVLQJWDNHVFRQVLGHUDEO\ORQJHUWKDQQRUPDOLQWKLVFDVH
2SWLRQDOEORFNVNLS
2))
2SWLRQDOEORFNVNLS
21
0/B
7KLVFRPPDQGIRUFLEO\FKDQJHVWKHQXPEHURIWLPHV
DVXESURJUDPLVFDOOHGVSHFLILHGE\/PLGZD\ 0DLQSURJUDP 6XESURJUDP
WKURXJKWKHVXESURJUDP
:KHQWKHRSWLRQDOEORFNVNLSVZLWFKLVWXUQHGRII
WKHQXPEHURIFDOOLQJWLPHVEHFRPHV]HURDQG
FRQWUROUHWXUQVWRWKHPDLQSURJUDP
7KHFRUQHUUHFHVVIXQFWLRQDXWRPDWLFDOO\UHFHVVHV
FRUQHUVRIZRUNSLHFHVWRHQVXUHDIUHHZD\WRD
VKDUSFRUQHUDVVKRZQEHORZ
6WDUW
3URJUDPPLQJ
0RYHFRPPDQG5
7RUHFHVVWKHFRUQHURIDZRUNSLHFHVSHFLI\D5DIWHUDPRYHFRPPDQG7KHFRUQHUEHWZHHQWKHPRYH
FRPPDQGLQZKLFK5LVVSHFLILHGDQGWKHVXEVHTXHQWPRYHFRPPDQGLVUHFHVVHGDVVKRZQLQWKHILJXUH
EHORZ7KHFRUQHUUHFHVVIXQFWLRQLVHQDEOHGRQO\ZKHQWKHZLUHGLDPHWHULVFRPSHQVDWHG
&RUQHURIZRUNSLHFH
WREHUHFHVVHG
:LUHRIIVHW
3URJUDPPHGSDWK
3DWKRIZLUHFHQWUH
&RUQHURIZRUNSLHFH
3DWKRIZLUHFHQWUH WREHUHFHVVHG
3URJUDPPHGSDWK
&RUQHURIZRUNSLHFH
WREHUHFHVVHG
3URJUDPPHGSDWK
3DWKRIZLUHFHQWUH
:KHQWKHFRUQHUUHFHVVIXQFWLRQLVVSHFLILHGRQWKH
RXWVLGHRIWKHFRUQHUWKHZRUNSLHFHLVUHFHVVHGDV
VKRZQLQWKHILJXUHEHORZ
&RUQHURIZRUNSLHFH
WREHUHFHVVHG
3DWKRIZLUHFHQWUH
([DPSOHRISURJUDPPLQJ
O1000;
G92X0Y15.0;
G91G42G01Y10.0;
X25.0R-0;
Y-25.0R-0; 6WDUW
G03X-25.0Y-25.0J-25.0R-0;
G02X-25.0Y25.0J25.0;
G01Y25.0R-0;
X25.0;
G40G01Y-10.0;
M02; or M30
:KHQWKHFRUQHUUHFHVVIXQFWLRQLVVSHFLILHGLQ
WDSHUHGPDFKLQLQJWKHWRSDQGERWWRPVXUIDFHRI
WKHZRUNSLHFHLVUHFHVVHGLQWKHVDPHZD\
7RSRIWKHZRUNSLHFH %RWWRP
RIWKHZRUNSLHFH
7KHFRUQHUUHFHVVIXQFWLRQLVVSHFLILHGLQWKHVDPH
ZD\DVWKHFRUQHUURXQGLQJIXQFWLRQ7KHZLUH
UHYHUVHVGLUHFWLRQZKHQPRYLQJDORQJWKHSDWK
VSHFLILHGE\WKHURXQGLQJIXQFWLRQ7KHUHIRUHWKH
VL]HRIWKHUHFHVVFDQEHDGMXVWHGE\VSHFLI\LQJ
DVXLWDEOHUDGLXVDVDQHJDWLYHYDOXH'RQRW 5HFFHVVLQJZKHQ5LV
VSHFLILHG
VSHFLI\DUDGLXVLQZKLFKWKHDEVROXWHYDOXHLV
ODUJHUWKDQWKHZLUHGLDPHWHUFRPSHQVDWLRQ 5HFFHVVLQJZKHQRI
RIIVHWRWKHUZLVHWKHUHFHVVZLOOEHPDFKLQHG WKHZLUHUDGLXVRIIVHWLV
RSSRVLWHWRWKHZRUNSLHFH VSHFLILHG
7KHFRUQHUURXQGLQJIXQFWLRQLQVHUWVDQDUFRIWKH
UDGLXVVSHFLILHGE\WKH8VHU3DUDPHWHU5PLQDW
HDFKFRUQHURIWKHSURJUDPPHGSDWK
1RWH
7KHYDOXHRI5PLQFDQEHDGMXVWHGLQD
SURJUDPE\PHDQVRIWKHLQVWUXFWLRQ
*35B
6WDUW
3URJUDPPLQJ
7KHFRUQHUURXQGLQJIXQFWLRQLVVSHFLILHGE\WKHIROORZLQJ*FRPPDQGV
*&RUQHUURXQGLQJHQDEOHG
*&RUQHUURXQGLQJGLVDEOHG
%RWKRIWKHVHFRPPDQGVEHORQJWRJURXS
:KHQWKH*FRPPDQGLVVSHFLILHGWKHFRUQHUURXQGLQJIXQFWLRQLVHQDEOHGDQGVWD\VHQDEOHGXQWLOWKH
*FRPPDQGLVVSHFLILHG
7KHGLUHFW5FRPPDQGZKLFKVSHFLILHVDUDGLXVIRUDFRUQHUKDVSULRULW\HYHQZKHQWKHFRUQHUURXQGLQJ
IXQFWLRQLVYDOLG
7KHFRUQHUURXQGLQJIXQFWLRQGRHVQRWLQVHUWWKHVSHFLILHGDUFXQGHUWKHIROORZLQJFRQGLWLRQV
:KHQWKHDQJOHEHWZHHQWKHWZROLQHVLVOHVVWKDQRUPRUHWKDQ
:KHQWKHQH[WEORFNGRHVQRWFRQWDLQDPRYHFRPPDQG
6SHFLI\LQJWKHUDGLXVRIWKHDUF
$QHJDWLYHYDOXHFDQQRWEHVSHFLILHGWKHPLQXVVLJQLVLJQRUHG
:KHQWKHFRUQHUUDGLXVLVVSHFLILHGZKLOHWKHFRUQHUURXQGLQJIXQFWLRQLVHQDEOHGWKHQHZUDGLXVKDV
SULRULW\RYHUWKHROGUDGLXV
7KHVFDOLQJIXQFWLRQLVLQYDOLGIRUDUFLQFRUQHUURXQGLQJ,IWKHVFDOLQJIXQFWLRQLVXVHGDUFVRIWKHVSHFL
ILHGUDGLXVDUHLQVHUWHGDWWKHFRUQHUVRIWKHHQODUJHGRUUHGXFHGVKDSH
O1000;
6WDUW
G92X0Y35.0;
G91G41G01Y-10.0;
G48X25.0;
Y-25.0;
X-25.0;
G02X-25.0Y-25.01-25.0R5.0;
G01Y50.0;
G49X25.0;
G40Y10.0;
M02; or M30; &RUQHUURXQGHGE\WKH
GLUHFW5FRPPDQG
&RUQHUURXQGHGE\DXWRPDWLF
FRUQHUURXQGLQJIXQFWLRQ
3UHFDXWLRQV
,IWKHFRUQHUUDGLXVWREHH[HFXWHGEHFRPHV
QHJDWLYHDVDUHVXOWRIWKHRIIVHWFDOFXODWLRQWKH
UDGLXVLVLJQRUHGDQGWKHZLUHH[HFXWHVDVKDUS
FRUQHU
:LUHFHQWUHSDWK
:KHQLVVSHFLILHGIRUWKHFRUQHUUDGLXVWKH
ZLUHSDWKRQWKHRXWVLGHRIWKHFRUQHUGLIIHUVIURP
WKHZLUHSDWKZLWKRXWFRUQHUURXQGLQJDVVKRZQ
LQWKHILJXUHEHORZ
:KLWRXW&5
:LWK&5
:KHQFRUQHUURXQGLQJLVVSHFLILHGGXULQJ
WDSHUHGPDFKLQLQJWKH1&SHUIRUPVDFRQLFDO
FRUQHUDQJOHHTXLYDOHQWWR*
3DWKRIZLUHFHQWUH
7KHFRQYHUVLRQFRS\IXQFWLRQVFRQYHUWDQGFRS\WKHFRRUGLQDWHVLQWKHVXESURJUDPDFFRUGLQJWRWKH
VSHFLILHGFRRUGLQDWHFRQYHUVLRQSDUDPHWHUVXFKDVWKHURWDWLRQDQJOHVFDOLQJIDFWRUPLUURULPDJHD[LV
HWFZKHQWKHVXESURJUDPLVFDOOHG
0DLQSURJUDP 6XESURJUDP
&RRUGLQDWH
&RRUGLQDWH FRQYHUVLRQ
FRQYHUVLRQ
SDUDPHWHU
7KHFRQYHUVLRQFRS\IXQFWLRQVDUHFODVVLILHGDFFRUGLQJWRWKHFRQYHUVLRQSDUDPHWHUVDVVKRZQLQWKHWDEOH
EHORZ
5RWDWLRQFRS\ 5RWDWLRQDQJOH 4
6FDOLQJFRS\ 6FDOLQJIDFWRU .
0LUURUFRS\ 0LUURULPDJHD[LV %
5HSHWLWLYHURWDWLRQFRS\ 5RWDWLRQDQJOH 4
0XOWLSOHFRQYHUVLRQFRS\IXQFWLRQVFDQEHVSHFLILHGVLPXOWDQHRXVO\H[FHSWIRUWKHUHSHWLWLYHURWDWLRQFRS\
IXQFWLRQ
([DPSOH
03B4B.B%B
7KHFRQYHUVLRQFRS\IXQFWLRQVFDQFDOOVXESURJUDPVXSWRDQHVWLQJOHYHORIWZRLQFOXGLQJRUGLQDU\
VXESURJUDPFDOO)RUH[DPSOHDFRQYHUVLRQFRS\IXQFWLRQFDQEHVSHFLILHGLQWKHVXESURJUDPFDOOHGE\
DQRWKHUFRQYHUVLRQFRS\FRPPDQG
&RRUGLQDWH &RRUGLQDWH
FRQYHUVLRQ FRQYHUVLRQ
VFDOLQJFRS\PLUURUFRS\RUUHSHWLWLYHURWDWLRQ
FRS\LVDSSOLHGWRVKDSHVZKLFKFDQWKHQEH
HDVLO\SURJUDPPHG
0DLQSURJUDP
6WDUW
O1000;
M98P1234Q-45.0;
G00 X10.M00;
M98P1234K1.5;
G00X 30.M00;
M98P1234B1;
M02; or M30;
6XESURJUDP 6XESURJUDP
:KHQUHSHWLWLYHURWDWLRQFRS\LVVSHFLILHGLQWKH
SURJUDPRIDUHSHDWHGVKDSHRQDFLUFOHVXFKDV
WKHJHDUVKRZQEHORZRQO\WKHSURJUDPRIWKH
UHSHWLWLYHVKDSHLVUHTXLUHGWKHUHE\VLPSOLI\LQJ
SURJUDPPLQJ
0DLQSURJUDP
O1000;
G92X0Y200.;
G42Y2.5;
M98P2000Q-14.4L25; 6WDUW
G40Y-2.5;
M02; or M30;
7KHURWDWLRQFRS\IXQFWLRQURWDWHVDQGFRSLHVWKHVKDSHSURJUDPPHGLQWKHVXESURJUDPDFFRUGLQJWR
WKH VSHFLILHGURWDWLRQDQJOH7KHFHQWUHRIURWDWLRQLVGHILQHGDWWKHZLUHSRVLWLRQLPPHGLDWHO\EHIRUHWKH
URWDWLRQFRS\FRPPDQGLVVSHFLILHG$UHSHWLWLRQQXPEHUFDQQRWEHVSHFLILHGLQWKHURWDWLRQFRS\
FRPPDQG,IDUHSHWLWLRQQXPEHULVVSHFLILHGWKHFRPPDQGLVUHJDUGHGDVWKHUHSHWLWLYHURWDWLRQFRS\
FRPPDQG
3URJUDPPLQJ
036XESURJUDP1R45RWDWLRQDQJOH
6SHFLI\WKHDQJOHRIURWDWLRQIURPWRLQLQFUHPHQWVRIDIWHUDGGUHVV4$GHFLPDO
SRLQWFDQEHVSHFLILHG$QHJDWLYHYDOXHURWDWHVWKHVKDSHFORFNZLVHDQGDSRVLWLYHYDOXHURWDWHVWKH
VKDSHFRXQWHUFORFNZLVH
([DPSOHRISURJUDPPLQJ
6XESURJUDP
O2000
G92X0Y5.0;
G42G01Y5.0;
X5.0; 6WDUW
Y-5.0;
G02Y-15.0J-7.5;
G01X-10.0;
Y20.0;
X5.0;
G40Y-5.0;
M00;
M99;
0DLQSURJUDP
O1000;
G91;
M98P2000Q-90.0;
G00X25.0M00; 6WDUW
M98P2000;
G00X25.0M00;
M98P2000Q90.0;
M02; or M30;
7KHVFDOHFRS\IXQFWLRQHQODUJHVRUUHGXFHVWKHVKDSHSURJUDPPHGLQWKHVXESURJUDPDFFRUGLQJWRWKH
VSHFLILHGVFDOHIDFWRU7KHFHQWUHRWWKHVFDOLQJLVGHILQHGDVWKHSRVLWLRQRIWKHZLUHLPPHGLDWHO\EHIRUHWKH
VFDOHFRS\FRPPDQGLVVSHFLILHG
3URJUDPPLQJ
036XESURJUDP1R.6FDOHIDFWRU
6SHFLI\WKHVFDOHIDFWRUIURPWRLQLQFUHPHQWVRIDIWHUDGGUHVV.$GHFLPDOSRLQW
FDQEHVSHFLILHG:KHQDUHSHWLWLRQQXPEHULVVSHFLILHGLQWKHVFDOHFRS\FRPPDQGWKHHQODUJHGRU
UHGXFHGVKDSHLVUHSHDWHG
([DPSOHRISURJUDPPLQJ
6XESURJUDP
O2000
G01X5.0;
Y-5.0;
G02Y-15.0J-7.5;
G01X-10.0;
Y20.0;
X5.0;
M99;
0DLQSURJUDP
O1000; 6WDUW
G91;
G92X0Y10.0;
G41G01Y-5.0;
M98P2000K1.5;
G40G01Y5.0;
M02; or M30;
7KHPLUURUFRS\IXQFWLRQLQYHUWVDQGFRSLHVWKHVKDSHSURJUDPPHGLQWKHVXESURJUDPZLWKWKHVSHFLILHG
PLUURULPDJHD[LVDVWKHD[LVRIV\PPHWU\
3URJUDPPLQJ
036XESURJUDP1R%0LUURULPDJHD[LV
6SHFLI\WKHPLUURULPDJHD[LVDIWHUDGGUHVV%XVLQJRQHRIWKHYDOXHVLQWKHWDEOHEHORZ
%
:KHQ%LVVSHFLILHGWKHWDEOHIHHGGLUHFWLRQLQWKH;DQG8D[LVLVUHYHUVHG7KHUHIRUHDVKDSH
V\PPHWULFDOWRWKHSURJUDPPHGVKDSHLQWKHVXESURJUDPZLWKUHVSHFWWRWKH<D[LVLVREWDLQHG
:KHQ%LVVSHFLILHGWKHWDEOHIHHGGLUHFWLRQLQWKH<DQG9D[LVLVUHYHUVHG7KHUHIRUHDVKDSH
V\PPHWULFDOWRWKHSURJUDPPHGVKDSHLQWKHVXESURJUDPZLWKUHVSHFWWRWKH;D[LVLVREWDLQHG
:KHQ%LVVSHFLILHGWKHWDEOHIHHGGLUHFWLRQDORQJDOOD[HVDUHUHYHUVHG7KHUHIRUHDVKDSHV\PPHWULFDO
WRWKHSURJUDPPHGVKDSHLQWKHVXESURJUDPZLWKUHVSHFWWRWKHRULJLQLVREWDLQHG
7KHZLUHGLDPHWHUFRPSHQVDWLRQDQGWDSHUHGPDFKLQLQJIXQFWLRQVVKRXOGEHFDQFHOHGLPPHGLDWHO\EHIRUH
DQGDIWHUWKHPLUURUFRS\FRPPDQGLQDSURJUDP7KHURWDWLRQFRS\FRPPDQGIRUILJXUHURWDWLRQFDQQRW
EHVSHFLILHGLQDVXESURJUDPLQZKLFKPLUURUFRS\KDVDOUHDG\EHHQVSHFLILHG
([DPSOHRI3URJUDPPLQJ
6XESURJUDP
O2000
G92X0Y5.0;
G42G01Y5.0; 6WDUW
X5.0;
Y-5.0;
G02Y-15.0J-7.5;
G01X-10.0;
Y20.0;
X5.0;
G40Y-5.0;
M00;
M99;
0DLQSURJUDP
% % %
O1000;
G91;
M98P2000B2;
G00X25.0M00;
M98P2000B1; 6WDUW
G00X35.0M00;
M98P2000B3;
M02; or M30;
7KHUHSHWLWLYHURWDWLRQFRS\IXQFWLRQUHSHDWHGO\FRSLHVWKHVKDSHSURJUDPPHGLQWKHVXESURJUDP
DFFRUGLQJWRWKHVSHFLILHGURWDWLRQDQJOHDQGUHSHWLWLRQQXPEHUZLWKDQLQFUHDVHLQWKHURWDWLRQDQJOH
HDFKWLPH
3URJUDPPLQJ
036XESURJUDP1R45RWDWLRQDQJOH/5HSHWLWLRQ1R
6SHFLI\WKHDQJOHRIURWDWLRQIURPWRLQLQFUHPHQWVRIDIWHUDGGUHVV46SHFLI\WKH
UHSHWLWLRQQXPEHUDVDQLQWHJHUDIWHUDGGUHVV/$GHFLPDOSRLQWFDQEHVSHFLILHGIRUWKHURWDWLRQDQJOHEXW
QRWIRUWKHUHSHWLWLRQQXPEHU$QHJDWLYHYDOXHURWDWHVWKHVKDSHFORFNZLVHDQGDSRVLWLYHYDOXHURWDWHVWKH
VKDSHFRXQWHUFORFNZLVH
,QWKHODWWHUFDVHWKHWRWDODQJOHGLYLGHGE\WKH
UHSHWLWLRQQXPEHUWRGHWHUPLQHWKHLQFUHPHQWDQJOH 6WDUWRIUHSHWLWLYH
URWDWLRQFRS\
6XESURJUDP
,QUHSHWLWLYHURWDWLRQFRS\WKHILUVWURWDWLRQDQJOHLV
LHQRFRQYHUVLRQLVDSSOLHGLQWKHILUVWFRS\
7KHUHDIWHUWKHVSHFLILHGURWDWLRQDQJOHLVDGGHG
WR WKHURWDWLRQDQJOHDIWHUHDFKFRS\7KHDGGHG
URWDWLRQDQJOHVKRXOGEHOHVVWKDQ7KH
URWDWLRQFHQWUHLVGHILQHGDWWKHRULJLQRIWKH
FRRUGLQDWHV\VWHPZKHQWKHUHSHWLWLYHURWDWLRQ
FRS\FRPPDQGLVVSHFLILHG7KHUHIRUHWKHRULJLQ
VKRXOGEHFRUUHFWO\GHILQHGEHIRUHWKHUHSHWLWLYH (QGRIUHSHWLWLYH
URWDWLRQFRS\FRPPDQGLVVSHFLILHG URWDWLRQFRS\
([DPSOH
6XESURJUDP
O1111G91G02X1078Y-26J-22500;
G01X47Y991;
G02X16Y139I1109J-53;
X57Y272I4370J-767;
X159Y536I5175J-1248;
X261YA647I7837J-2788;
X448Y868I8839J-4007;
X603Y9401I0960J-6367;
X1428Y-181I-2669J-26868;
X350Y-1060I-11849J-4501;
X218Y-952I-9330J-2635;
X92Y-692I-8192J-1442;
X21Y-558I-5302J-480;
X-13Y-279I-4437J65;
X-20Y-138I-1106J86;
G01X-200Y-972;
G02X1051Y-243I-4545J-22036;
M99;
0DLQSURJUDP
6WDUW
O1000;
M92X0Y200.;
G42G01Y2.5;
M98P1111Q-14.4L25;
G40G01Y-2.5;
M02; or M30;
([DPSOH
6XESURJUDP 6WDUW
O2222;
G92X0Y25.0;
G42G01Y-5.0;
G02X-5.0Y5.0J5.0;
G01Y5.0;
G02X10.0I5.0;
G01Y-5.0;
G02X-5.0Y-5.0I-5.0;
G40G01Y5.0;
M00;
G00X-17.678Y-7.322;
M00;
M99;
0DLQSURJUDPWKHURWDWLRQDQJOHLVVSHFLILHGDVWKHWRWDODQJOH
O1000;
G91;
G92X0Y25.0;
M98P2222Q360.0L8;
M02; or M30;
7KHFHQWUHRIURWDWLRQRUH[SDQVLRQDUHHQWHUHGLQWKHIROORZLQJIRUPDW
6SHFLI\WKH,DQG-FHQWUHFRRUGLQDWHVDVDEVROXWHYDOXHV,IWKHVHSDUDPHWHUVDUHQRWVSHFLILHGWKHGHIDXOWV
IRUHDFKW\SHRIFRS\DUHDVIROORZV
5RWDWLRQFRS\H[SDQVLRQFRS\
7KHFRS\VWDUWSRLQWLVWDNHQDVWKHFHQWUH+RZHYHULI*LVHQWHUHGZKLOHFRS\LQJLVLQSURJUHVVWKH
RULJLQLVWDNHQDVWKHFHQWUH
5HSHWLWLYHURWDWLRQFRS\
7KHRULJLQLVWDNHQDVWKHFHQWUH
&DXWLRQ
,IRQO\RQHRI,DQG-LVVSHFLILHGLQWKHEORFNFRQWDLQLQJWKH0FRPPDQGDQG;<DUHQRW
VSHFLILHGWKHFRPPDQGLVQRWWDNHQDVDPRYHFRPPDQG
([DPSOH
O0001;
G91;
G92X0Y0;
G00Y50.;
M98P0002Q90.L4I0.J50.; 6WDUW
G00Y-50.;
M02; or M30;
O0002;
G00Y20.;
M98P0003Q90.L4I0.J50.;
G00Y-20.;
X-50.Y-50.;
M99;
O0003;
G01Y2.;
G02J-2.;
G01Y-2.;
G00X-20.Y-20.;
M99;
7KHUHYHUVHFRS\IXQFWLRQH[HFXWHVWKHFRPPDQGV
3URJUDP
EHWZHHQWKH0DQG0FRPPDQGV7KH
FRPPDQGVDIWHU0DUHH[HFXWHGVHTXHQWLDOO\
XQWLOWKH0FRPPDQGLVUHDFKHG7KHQWKH 0
V\VWHPH[HFXWHVWKHFRPPDQGVLQUHYHUVHRUGHU 5HYHUVHFRS\
VWDUWLQJZLWKWKH0FRPPDQGXQWLOSURFHVVLQJ
UHWXUQVWRWKH0FRPPDQG
7KHPLUURULPDJHFRPPDQGFDQEHVSHFLILHG
WRJHWKHUZLWKWKH0FRPPDQG7KLVHQDEOHV 0%
D VKDSHV\PPHWULFDODERXWDQD[LVWREH
SURJUDPPHGHDVLO\ ;PLUURULPDJH
:KHQ0LVH[HFXWHGWKHVXEVHTXHQW
FRPPDQGVDUHWUDQVIHUUHGWRWKHPDFKLQHDQG 6WDUW
VHTXHQWLDOO\VWRUHGLQDVSHFLDOPHPRU\:KHQ
0LVHQFRXQWHUHGWKHPDFKLQHH[HFXWHVWKH
5HYHUVHFRS\
FRPPDQGVVWRUHGLQWKHVSHFLDOPHPRU\LQUHYHUVH
RUGHUDQGPRYHVEDFNDORQJWKHSURJUDPPHG
SDWKWRWKHVWDUWSRLQW7KHPDFKLQHPRYHVDORQJ
WKHH[DFWO\VDPHSDWK¦DFRPSHQVDWHGSDWKLQWKH
ZLUHGLDPHWHUFRPSHQVDWLRQPRGHRUDWDSHUHG
SDWKLQWKHWDSHUPRGH+RZHYHUWKHQXPEHURI
FRPPDQGVWKDWFDQEHH[HFXWHGE\WKHUHYHUVH
FRS\IXQFWLRQLVOLPLWHGE\WKHFDSDFLW\RIWKH
VSHFLDOPHPRU\$SSUR[LPDWHO\PRYH
FRPPDQGVFDQEHVWRUHGDOWKRXJKLWGHSHQGVRQ
WKHLUFRPSOH[LW\
3URJUDP
0
0DFKLQHVHUYRPRWRU
$[LVPRYHPHQW
LQWKHIRUZDUGGLUHFWLRQ
0RYH
FRPPDQGV
0
$[LVPRYHPHQW
LQWKHUHYHUVHGLUHFWLRQ
6WRULQJRUGHU
0RYHFRPPDQGV
VWRUHG
5HDGLQJRUGHU
7KHUHYHUVHFRS\IXQFWLRQLVVSHFLILHGE\WZRFRPPDQGV7KH0FRPPDQGZKLFKVSHFLILHVVWRULQJWKH
VXEVHTXHQWFRPPDQGVLQWKHVSHFLDOPHPRU\DQGWKH0FRPPDQGZKLFKVWDUWVUHYHUVHFRS\LQJ
7KH0FRPPDQG
0
7KH0FRPPDQGKDVWZRIXQFWLRQV7RVSHFLI\VWRULQJWKHVXEVHTXHQWFRPPDQGVLQWKHVSHFLDOPHPRU\
DQGWRLQGLFDWHWKHHQGRIUHYHUVHFRS\LQJZKHQWKHVWRUHGFRPPDQGVKDYHEHHQH[HFXWHGLQUHYHUVH
RUGHU,IWKHVXEVHTXHQWFRPPDQGVDUHPRYHFRPPDQGVWKHUHYHUVHFRS\IXQFWLRQPRYHVWKHPDFKLQH
DORQJWKHVDPHSDWKLQWKHUHYHUVHRUGHU
:KHQVSHFLI\LQJWKH0FRPPDQGLQWKHZLUHGLDPHWHUFRPSHQVDWLRQPRGHRUWKHWDSHUPRGH
FRQVLGHUWKHZLUHGLDPHWHURIIVHWDQGWKHDPRXQWRIWDSHU
,QWKHLOOXVWUDWLRQEHORZWKHPRYHPHQWIURP$WR&DQGIURP&WR(DUHV\PPHWULFDODERXWWKHYHUWLFDOZKHQ
WKHZLUHGLDPHWHUFRPSHQVDWLRQLVFDQFHOHG+RZHYHUWKHVHPRYHPHQWVDUHQRWV\PPHWULFDOZKHQZLUH
GLDPHWHUFRPSHQVDWLRQLVXVHG
,QWKLVH[DPSOHWKHUHIRUHWKH0FRPPDQGFDQQRWEHVSHFLILHGDWSRLQW$6SHFLI\0DWSRLQW%
ZKHQWKHZRUNSLHFHVKDSHDQGWKHZLUHGLDPHWHUFRPSHQVDWLRQYHFWRUDUHV\PPHWULFDOZLWK'
7KH0FRPPDQG
0%0LUURULPDJHD[LV
/DFRPPDQGH0VSpFLILHODILQGHO
HQUHJLVWUHPHQWGHVFRPPDQGHVGDQVODPpPRLUHVSpFLDOHHWOH
GpEXWGHOHXUH[pFXWLRQGDQVO
RUGUHLQYHUVH3RXUO
D[HLPDJHPLURLUVSpFLILH]XQHGHVYDOHXUVVXLYDQWHV
%&RGH 0LUURULPDJHD[LV
'RQRWXVH
;8
<9
,I%LVVSHFLILHGRUQRYDOXHLVVSHFLILHGIRU%WKHPDFKLQHPRYHVDORQJWKHSURJUDPPHGSDWKLQWKH
UHYHUVHGLUHFWLRQ
,I%LVVSHFLILHGWKHD[LVIHHGGLUHFWLRQLQWKH;DQG8D[LVLVUHYHUVHGSURGXFLQJDVKDSHV\PPHWULFDO
DERXWWKH<D[LV
,I%LVVSHFLILHGWKHD[LVIHHGGLUHFWLRQLQWKH<D[LVDQG9D[LVLVUHYHUVHGSURGXFLQJDVKDSH
V\PPHWULFDODERXWWKH;D[LV
0%6DPHSDWK
0%%
6\PPHWULFDODERXW;D[LV
6WDUW
0%O
6\PPHWULFDOSDWKZLWKUHVSHFWWR<D[LV
([DPSOHVRISURJUDPPLQJ
([DPSOH
O1000; 6WDUW
G91;
G92X0Y20.0;
M96;
G41G01Y-10.0;
X10.0;
G03X10.0Y-10.0I10.0;
G02X-15.0Y-15.0I-15.0;
G01X-5.0;
M97B1;
M02; or M30;
([DPSOH
O2000;
G91; 6WDUW
G92X0Y0;
G41G01X5.0;
Y5.0;
X10.0;
M96;
G02X15.0I7.5
G01Y-5.0;
X10.0Y-10.0
M97B2;
X-5.0;
X-5.0Y15.0;
Y10.0;
G40X-5.0;
M02; or M30;
'RQRWVSHFLI\WKH*FRPPDQGVSHFLI\LQJWKHDEVROXWH]HURSRLQWEHWZHHQWKH0DQG0
FRPPDQGVLQDSURJUDP
'RQRWVSHFLI\WKHPLUURUFRS\IXQFWLRQEHWZHHQWKH0DQG0FRPPDQGVLQDSURJUDP+RZHYHU
WKHURWDWLRQFRS\DQGVFDOLQJFRS\IXQFWLRQVFDQEHVSHFLILHGEHWZHHQWKH0DQG0FRPPDQGV
LQDSURJUDP
'RQRWVSHFLI\WKH0DQG0FRPPDQGVLQDVXESURJUDP
'RQRWVSHFLI\JUDSKURWDWLRQLQDSURJUDPVSHFLI\LQJPLUURULPDJHIRUWKH0FRPPDQG
'RQRWVSHFLI\WKH0FRPPDQGLQWKHURWDWLRQFRS\RUUHSHWLWLYHURWDWLRQFRS\IXQFWLRQV
,QGHSHQGHQWXSSHUDQGORZHUFRUQHUUDGLL
0RYHFRPPDQG5B.B
:KHQPDFKLQLQJWDSHUHGFRUQHUUDGLLRQWKHSURJUDPPHGZRUNSLHFHVXUIDFHDQGRQWKHRSSRVLWHVXUIDFH
WKHUDGLLDUHVSHFLILHGDIWHUDGGUHVVHV5DQG.
([DPSOH
O1000;
G91;
G40 G50 G92X0Y-25.0I-50.0J50.0;
G51G42G01Y15.0T5.0;
X10.0R0K5.0;
Y20.0R5.0K10.0;
X-20.0R0K5.0;
Y-20.0R5.0K10.0;
X10.0;
G50G40Y-15.0; 6WDUW
M02; or M30;
5HPDUN
)RUDF\OLQGULFDOFRUQHUVSHFLI\WKHVDPH
UDGLXVLQ5DQG.
'HYLDWLRQYHFWRU
0RYHFRPPDQG8B9B
:KHQPDFKLQLQJZLWKDVSHFLILHGWDSHUDQJOHWKHDQJOHFDQEHFKDQJHGE\VSHFLI\LQJDGHYLDWHGWDSHU
YHFWRU7KLVFRPPDQGLVGHILQHGE\LWVGLUHFWLRQUHODWLYHWRWKHHQGSRLQWRQWKHSURJUDPPHGVXUIDFH
WRZDUGWKHHQGSRLQWRQWKHZRUNSLHFHVXUIDFHVSHFLILHGE\WKH*FRPPDQGDQGE\DPDJQLWXGH7KH
PDJQLWXGHLVVSHFLILHGDIWHUDGGUHVVHV8DQG9
([DPSOH
O1000;
G91;
G40 G50 G92X0Y-20.0I-50.0;
'HYLDWHG
G51G42G01Y10.0T5.0; YHFWRU
X10.0;
Y20.0U10.0V10.0;
X-20.0;
Y-20.0; X10.0;
G50G40Y-10.0;
M02; or M30; 6WDUW
,QDSDUWSURJUDPVSHFLI\LQJDWDSHUDQJOHDGHYLDWLRQYHFWRUFDQEHGHILQHGRQDFLUFXODULQWHUSRODWLRQ
FRPPDQG**
*;[<\,L-M8X9Y.N/O
;<,- ILQDOSRLQWDQGFHQWHURIWKHDUFLQWKH
SURJUDPPHGVXUIDFHDUHDDVLQDQ $UFRIWKHRWKHUVXUIDFH
RUGLQDU\LQWHUSRODWLRQFRPPDQG RIWKHZRUNSLHFH
89 GHYLDWLRQYHFWRURIWKHILQDOSRLQWLQWKH
RSSRVLWHVXUIDFHDUHDZLWKUHVSHFWWRWKH $UFLQWKHSURJUDPPHG
ILQDOSRLQWLQWKHSURJUDPPLQJSODQH VXUIDFHRIWKHZRUNSLHFH
DV LQWKHFDVHRIGHYLDWLRQRIDOLQHDU
PRYHPHQW LM
[\
./ GHYLDWLRQYHFWRURIWKHFHQWHULQWKH
RSSRVLWHVXUIDFHDUHDZLWKUHVSHFWWRWKH XY
FHQWHULQWKHSURJUDPPLQJSODQH
,I./DUHQRWVSHFLILHGWKHLUYDOXHLVDVVX NO
PHGWREH
7KLVGHYLDWLRQLVRQO\HIIHFWLYHLQWKHFRPPDQGLQ
ZKLFKLWLVVSHFLILHG
7KHOHWWHU/DOVRVHUYHVWRGHILQHWKHQXPEHURI
UHSHWLWLRQVLQDORRS%HFDXVHRIWKLVWKHDUF
GHYLDWLRQFDQQRWEHXVHGLQDQ0EORFN
FDOOLQJXSDVXESURJUDP
([DPSOH
O1000; 6WDUW
G91;
G40 G50 G92X0Y20.0I-20.0;
G52G41G01Y-10.0T10.0;
X10.0;
Y-20.0;
X-5.0V-3.527;
G03X-10.0I-5.0V-3.527L-3.527;
G01X-5.0;
Y20.0; 7DSHUDQJOH
X10.0;
G50G40Y10.0;
M02; or M30;
;B<B
7B
;B<B
:KHQWKHDQJOHRIZLUHLQFOLQDWLRQLVVSHFLILHGLQ
LQGHSHQGHQWEORFNDVVKRZQDERYHWKHZLUH 0RYHPHQWSURGXFHGE\
PRYHVOLQHDUO\DQGSHUSHQGLFXODUO\WRWKH
PRYHPHQWRIEORFNWLOOWKHHQGSRLQWRIEORFN
7KHDQJOHRIZLUHLQFOLQDWLRQLVVSHFLILHGLQ *XLGH
DGYDQFH7KHQWKHZLUHEHFRPHVSHUSHQGLFXODUWR
WKHPRYHPHQWRIWKHQH[WEORFNEORFNDWWKHVWDUW 3URJUDPPHG
ZLUHWRURWDWHZLWKWKHSURJUDPPHGSODQHDVWKH
FHQWUH
([DPSOH
7KHVWHSZLVHWDSHUHGSODQHVVKRZQEHORZFDQEH
PDFKLQHG
O1000;
G91;
G40 G50 G92X0Y0;
G51G42G01X20.0;
T1.0; X10.0;
T2.0; 6WDUW
X10.0;
T3.0;
X10.0;
T2.0;
X10.0;
T1.0;
X10.0;
T0;
G50G40X20.0;
M02; or M30;
O1000;
G91;
G92X0Y-30.0;
G51G42G01Y15.0T5.0;
X15.0;
T5.0;
Y30;
T5.0;
X-30.0;
T5.0;
Y-30.0;
T5.0;
X15.0;
G50G40Y-15.0;
M02; or M30; 6WDUW
6SHFLI\LQJWKHKHLJKWRIWKHVHFRQGDU\VXUIDFH
,IDSDUWSURJUDPVSHFLILHVWKHZRUNSLHFHKHLJKWLQ
WDSHUHGPDFKLQLQJRQHSURJUDPFDQVSHFLI\
L!
PXOWLSOHKHLJKWV
*;[<\,L-M
6SHFLI\M %RWWRPVXUIDFHRIZRUNSLHFH
7KHKHLJKWRIWKHSURJUDPPHGVXUIDFHRIWKH
ZRUNSLHFHDERYHWKHZRUNWDEOHDIWHUDGGUHVV-LQ
WKHEORFNLQZKLFKWKHFRRUGLQDWHV\VWHPLVVHWZLWK 7DEOHVXUIDFH
WKH*FRPPDQG,IWKHKHLJKWLVQRWVSHFLILHG
WKHSUHYLRXVKHLJKWUHPDLQVHIIHFWLYH
7RSVXUIDFH
L RIZRUNSLHFH
7DEOHVXUIDFH
Y-15.0;
X-15.0;
Y15.0;
X7.5;
G50G40Y-7.5; 7DEOHVXUIDFH
M50;
G00X50.0;
G92X0Y0I-10.0J20.0;
M60;
G52G42G01Y10.0T3.0;
G02J-10.0;
G50G40G01Y-10.0;
M50;
M02; or M30;
1RWH
:KHQGLVSOD\LQJDSDUWSURJUDPVSHFLI\LQJWKHZRUNSLHFHWKLFNQHVVRQWKHVFUHHQVSHFLI\WKH
GLVWDQFHIURPWKHVXUIDFHRIWKHZRUNWDEOHWRWKHWRSRIWKHZRUNSLHFH,QWKHDERYHH[DPSOHWKHVHW
YDOXHLV
*HQHUDOSUHFDXWLRQV
7DSHUHGPDFKLQLQJLVQRUPDOO\SURJUDPPHG
VR WKDWWKHZLUHVWDUWVDQGILQLVKHVLQWKHYHUWLFDO 8SSHUJXLGH
;BBBBBBBB
0BBBBBBBB
SRVLWLRQ 0BBBBBBBB
,IWZRRUPRUHEORFNVKDYLQJQRPRYHGLVWDQFH <BBBBBBBB
DUHVSHFLILHGVHTXHQWLDOO\LQWDSHUHGPDFKLQLQJ
WKHDQJOHRIZLUHLQFOLQDWLRQPD\QRWEHFRUUHFWO\ 3URJUDPPHG
GHWHUPLQHG VXUIDFH
,IWKHGHIOHFWLRQRIWKHORZHUJXLGHDQGXSSHU %ORFNZLWKRXWPRYH
JXLGHLQFUHDVHVDWDVKDUSFRUQHUWKHXSSHU FRPPDQG
JXLGHPD\RYHUVKRRWWKHZRUNSLHFH /RZHUJXLGH
7DSHUHGPDFKLQLQJFDQQRWEHVSHFLILHGLQWKH
0',PRGH
:KHQWKH00RU0FRPPDQGLV
VSHFLILHGGXULQJWDSHUHGPDFKLQLQJWKHZLUHLV
SRVLWLRQHGSHUSHQGLFXODUWRWKHODVWPRYHPHQWDW
WKHHQGSRLQWRIWKHODVWPRYHPHQW7KHUHIRUHLWLV
SRVVLEOHWKDWWKHFRUUHFWDQJOHRIZLUHLQFOLQDWLRQ
LVQRWREWDLQHG
2XWOLQH
7KLVIXQFWLRQHQDEOHVDZRUNSLHFHWRPDFKLQHGZLWKDWDSHUDFFRUGLQJWRWKHGLUHFWO\VSHFLILHGVKDSHVRI
WKHXSSHUDQGORZHURIWKHZRUNSLHFH,QRUGLQDU\WDSHUHGPDFKLQLQJWKHVKDSHVDQGWDSHUDQJOHVRQWKH
SURJUDPPHGVXUIDFHDUHVSHFLILHG
$OWKRXJKWKLVSURJUDPPLQJLVVLPSOHDQGSUDFWLFDOWKHUHLVDOLPLWWRWKHNLQGVRIWDSHUHGVXUIDFHVWKDWFDQ
EHSURJUDPPHG6RPHVKDSHVFDQQRWEHSURJUDPPHG:LWKWKLVIXQFWLRQVLQFHLWLVSRVVLEOHWRVSHFLI\
WKHVKDSHVRIWKHWRSDQGERWWRPVXUIDFHVGLUHFWO\RULQGLUHFWO\LWLVSRVVLEOHWRVSHFLI\DQ\VKDSHSURYLGHG
LWGRHVQRWFRQWDLQDWDSHUWKDWFDQQRWEHPDFKLQHG
([DPSOHRIVKDSHVZKLFKFDQEHVSHFLILHG
3URJUDPPLQJ
3URJUDPVFRQWDLQWKHVKDSHVRIWZRSODQHV
$X[LOLDU\SURJUDPPHGVXUIDFH
UHSUHVHQWLQJWKHXSSHUDQGORZHUVXUIDFHVRID
ZRUNSLHFH7KHVHSODQHVDUHSDUDOOHOWRWKH;<
SODQH)RUFRQYHQLHQFHRQHSODQHLVFDOOHGWKH
SURJUDPPHGVXUIDFHDQGWKHRWKHULVFDOOHGWKH
DX[LOLDU\SURJUDPPHGVXUIDFHLUUHVSHFWLYHRI
ZKLFKLVWKHXSSHUSODQH
7KHVKDSHRIWKHSURJUDPPHGVXUIDFHLV 3URJUDPPHGVXUIDFH
SURJUDPPHGLQWKHQRUPDOZD\7KHVKDSHRIWKH
DX[LOLDU\SURJUDPPHGVXUIDFHLVSURJUDPPHGXVLQJ
DWDSHUPRGLILFDWLRQYHFWRUYLHZLQJWKHVKDSH
IURPWKHSURJUDPPHGVXUIDFH &URVVVHFWLRQQDOVKDSH &URVVVHFWLRQQDOVKDSHRQ
RQDX[LOLDU\ SURJUDPPHGVXUIDFH
SURJUDPPHGVXUIDFHH
7RVHWWKHFRRUGLQDWHV\VWHPVSHFLI\WKHFXUUHQW 8SSHUZLUHJXLGH
ZLUHSRVLWLRQRQWKHSURJUDPPHGVXUIDFHDIWHU
DGGUHVVHV;DQG<6SHFLI\WKHGLVWDQFHEHWZHHQ $X[LOLDU\SURJUDPPHGVXUIDFH
WKHSURJUDPPHGVXUIDFHDQGDX[LOLDU\
SURJUDPPHGVXUIDFHDIWHUDGGUHVV,6SHFLI\D
SRVLWLYHYDOXHDIWHUDGGUHVV,ZKHQWKHDX[LOLDU\
SURJUDPPHGVXUIDFHLVDERYHSURJUDPPHG
VXUIDFHDQGVSHFLI\DQHJDWLYHYDOXHZKHQWKH L!
DX[LOLDU\VXUIDFHLVEHORZWKHSURJUDPPHGVXUIDFH
,WLVQRWQHFHVVDU\WRVSHFLI\WKHFXUUHQWZLUH
SRVLWLRQRQWKHDX[LOLDU\SURJUDPPHGVXUIDFH
3URJUDPPHGVXUIDFH
EHFDXVHLWLVDXWRPDWLFDOO\GHWHUPLQHGDFFRUGLQJWR :LUH
WKHLQFOLQDWLRQRIWKHZLUH,WLVQHFHVVDU\WRVSHFLI\ /RZHUZLUHJXLGH
DFRRUGLQDWHV\VWHPDWWKHVWDUWRIDOOSURJUDPV
:KHQWKHSURJUDPPHGVXUIDFHLVDWWKHERWWRPRI 8SSHUZLUHJXLGH
WKHZRUNSLHFH
3URJUDPPHGVXUIDFH
L
$X[LOLDU\SURJUDPPHGVXUIDFH
:LUH
/RZHUZLUHJXLGH
:KHQWKHSURJUDPPHGVXUIDFHLVDWWKHWRSRIWKH
ZRUNSLHFH
:LUHSDWKRQDX[LOLDU\
SURJUDPPHGVXUIDFH 7DSHUPRGLILFDWLRQ
YHFWRUXY
:LUHSDWKRQWKH
SURJUDPPHGVXUIDFH
*;[<\8X9Y
8VHWKLVFRPPDQGZKHQWKHVKDSHRIWKHXSSHUDQGORZHURIDZRUNSLHFHLVIODWZKHQWKHSDWKRIWKHZLUH
LVDVWUDLJKWOLQH6SHFLI\DSDWKRQWKHSURJUDPPHGVXUIDFHZLWKDGGUHVVHV;DQG<:KHWKHUDEVROXWH
YDOXHVRULQFUHPHQWDOYDOXHVDUHXVHGLVVSHFLILHGE\WKH*RU*FRPPDQG7KH*FRPPDQG
VSHFLILHVWKDWWKHYDOXHVIRUDGGUHVVHV;DQG<DUHDEVROXWHDQGWKH*FRPPDQGVSHFLILHVWKDWWKH\DUH
LQFUHPHQWDO6SHFLI\DSDWKRQWKHDX[LOLDU\VXUIDFHZLWKDGGUHVVHV8DQG98VHDGHYLDWLRQYHFWRUWR
VSHFLI\WKHSDWKIURPWKHHQGSRLQWRQWKHSURJUDPPHGVXUIDFHWRWKHHQGSRLQWRIWKHDX[LOLDU\VXUIDFH
UHJDUGOHVVRIWKHYDOXHV\VWHPDEVROXWHRULQFUHPHQWDO
&LUFXODULQWHUSRODWLRQ
*;B<B,B-B
8B9B.B/B
*;B<B,B-B
8B9B.B/B
* &ORFNZLVHGLUHFWLRQ
* &RXQWHUFORFNZLVHGLUHFWLRQ
DGGUHVVHV8DQG9XVLQJDGHYLDWLRQYHFWRUIURP
WKHHQGSRLQWRIWKHDUFRQWKHSURJUDPPHGVXUIDFH $UFFHQWUHPRGLILFDWLRQYHFWRUNL
WRWKDWRQWKHVXSSOHPHQWDU\SURJUDPPHGVXUIDFH
6SHFLI\WKHFHQWHURIWKHDUFRQWKHDX[LOLDU\VXUIDFH
ZLWKDGGUHVVHV.DQG/XVLQJDGHYLDWLRQYHFWRU
IURPWKHFHQWHURIWKHDUFRQWKHSURJUDPPHG
VXUIDFHWRWKDWRQWKHDX[LOLDU\VXUIDFH
* :LUHGLDPHWHUFRPSHQVDWLRQFDQFHO
* :LUHGLDPHWHUFRPSHQVDWLRQOHIW
* :LUHGLDPHWHUFRPSHQVDWLRQULJKW
$OWKRXJKWKHGLUHFWLRQLQZKLFKWKHZLUHGLDPHWHULVFRPSHQVDWHGDQGWKHRIIVHWDSSO\WRERWKWKH
SURJUDPPHGVXUIDFHDQGWKHDX[LOLDU\VXUIDFHWKH\DUHFDOFXODWHGLQGHSHQGHQWO\
:LUHGLDPHWHUFRPSHQVDWLRQYHFWRURQ
DX[LOLDU\SURJUDPPHGVXUIDFH
$X[LOLDU\SURJUDPPHGVXUIDFH
3URJUDPPHGVXUIDFH
:LUHGLDPHWHUFRPSHQVDWLRQYHFWRURQ
SURJUDPPHGVXUIDFH
6SHFLI\DZLUHGLDPHWHUFRPSHQVDWLRQQXPEHUXVLQJD'FRPPDQGLQWKHVDPHZD\DVZKHQXVLQJWKH
ZLUHGLDPHWHUFRPSHQVDWLRQIXQFWLRQ
([DPSOH
O1000;
G91;
G92X-30.0Y0I50.0;
G41G01X10.0U5.0;
G02I20.0K.5.0;
G40G01X-10.0U0;
M02; or M30;
6WDUW
$X[LOLDU\SURJUDPPHGVXUIDFH
7RSRIZRUNSLHFH
:RUNSLHFH
WKLFNQHVV
PP
3URJUDPPHGVXUIDFH
%RWWRPRIZRUNSLHFH
([DPSOH
O1000;
G91;
G92X2.5Y5.0I-50.0;
G42G01Y5.OV7.5;
6WDUW
X7.5U10.0V5.0;
Y-20.0U5.0V-10.0;
X-20.0U-10.0V-5.0;
Y20.0U-5.0V10.0;
X12.5U0V7.5;
G40Y-5.0V0; 3URJUDPPHGVXUIDFH
%RWWRPRIZRUNSLHFH
M02; or M30;
:RUNSLHFH
WKLFNQHVV
PP
$X[LOLDU\SURJUDPPHGVXUIDFH
7RSRIZRUNSLHFH
&XWWLQJPRGHFDQDOVREHVHWWKURXJK0
3FRPPDQG
8SSHUJXLGH
7KHRWKHUGDWDIRUWDSHUHGPDFKLQLQJLVVSHFLILHGLQ
WKHVDPHZD\DVEHIRUH+RZHYHUWKHUDWLRRIWKH $X[LOLDU\SURJUDPPHGVXUIDFH
GLVWDQFHEHWZHHQWKHXSSHUDQGORZHUJXLGHVWR
WKHZRUNSLHFHWKLFNQHVVPXVWQRWH[FHHG :RUNSLHFHWKLFNQHVV
3URJUDPPHGVXUIDFH
0RXQWLQJSODQHRIWKHSDUW
3DUDPHWHU=,'VHWYDOXH
/RZHUJXLGH
:KHQWKHERWWRPRIWKHZRUNSLHFHLVWKHSURJUDPPHGVXUIDFH
3UHFDXWLRQVZKHQVSHFLI\LQJXSSHUDQGORZHUVKDSHV
7KHZLUHLQFOLQDWLRQFRPPDQGV**DQG
*DQGDQDQJOHRIZLUHLQFOLQDWLRQFDQQRWEH
VSHFLILHG
7KHFRUQHUUDGLXVFRPPDQGDQGWKHDXWRPDWLF
FRUQHUURXQGLQJIXQFWLRQWKH*DQG*
FRPPDQGVFDQQRWEHVSHFLILHG 6KDSHRQSURJUDPPHGVXUIDFH
6LQFHDGGUHVV/LVFRPPRQO\XVHGWRVSHFLI\WKH
QXPEHURIUHSHWLWLRQVRIVXESURJUDPVDVZHOODV
WKHDUFFHQWHURQWKHDX[LOLDU\SURJUDPPHG
VXUIDFHDVXESURJUDPFDOOPXVWEHVSHFLILHG
VHSDUDWHO\IURPDPRYHFRPPDQG)RUWKLV
UHDVRQWKHUHPDLQLQJQXPEHURIVXESURJUDP
UHSHWLWLRQVFDQQRWEHGLVSOD\HG 'RXEOHG
6FDOLQJLVLQYDOLGIRUDGGUHVVHV89./DQG,
VSHFLI\LQJDIRUPRQWKHDX[LOLDU\SURJUDPPHG
VXUIDFHDQGWKHZRUNSLHFHWKLFNQHVV,IVFDOLQJLV
VSHFLILHGWKHVKDSHRQWKHSURJUDPPHGVXUIDFH
LVPDJQLILHGRUUHGXFHGEXWWKHWDSHUDQJOHGRHV
QRWFKDQJH
+RZHYHUILJXUHURWDWLRQLVYDOLGIRUDGGUHVVHV
ZRUGV89.DQG/
General 5.3
Variables 5.4
Variable expressions ............................................................................. 5.4
Quoted variables .................................................................................. 5.4
Undefined variables .............................................................................. 5.5
Displaying and setting variables .............................................................. 5.6
General
A macro instruction consists of a group of instructions stored in memory in the same way as a subprogram.
To execute the group of instructions, it is only necessary to specify the macro instruction. A group of
customized instructions is called a custom macro body, or simply a macro, and the instruction which
represents the custom macro body is called the custom macro instruction or custom call command. The
use of custom macro instructions enables the user to upgrade the performance of the CNC.
Command
A group of
Custom macro instructions
instructions for a certain
function
Variables #1 and #4
can be used instead of
the unknown traverse
distance
Macro instructions use variables instead of numeric values. Each variable is identified by a variable
number, and can be assigned any value within the valid range. Variables enable macro instructions to
be much more flexible than subroutines.
Variable expressions
A variable consists of the variable prefix, #, followed by a number, as shown below. #i (i=1, 2, 3,...)
Example
#5
#109
#1005
The following format can also be used, where the variable number is replaced by a formula: #[<Formula>]
Example
#[#100
#[#1001 - 1]
#[#612]
The variable #i explained below always also refers to the variable #[<formula>].
Quoted variables
A numeric value specified after an address can be replaced with a variable, in the format <address>#i or
<address>-i, as follows.
Examples
F#33: if #33 = 1.5, then F#33 = F1.5.
Z-#18: if #18 = 20.0, then Z-#18 = Z-20.0.
G#130: if #130 = 3.0, G#130 = G3.0.
Undefined variables
The value of a variable which has not yet been defined is called <vacant>. The variable #0 is used for a
variable that is always <vacant>.
An undefined variable is used as follows:
Quotation
When an undefined variable is quoted, the address is ignored:
G90X100Z#1 G90X100Z#1
↓ ↓
G90X100 G90X100Z0
0 #2=#1 #2=#1
↓ ↓
#2=<vacant> #2=0
#2=#1*5 #2=#1*5
↓ ↓
#2=0 #2=0
#2=#1+#1 #2=#1+#1
↓ ↓
#2=0 #2=0
Conditional expressions
<vacant> differs from 0 only for EQ and NE.
#1 EQ #0 #1 EQ #0
↓ ↓
Established Not established
#1 NE 0 #1 NE 0
↓ ↓
Established Not established
#1 GE #0 #1 GE #0
↓ ↓
Established Established
#1 GT 0 #1 GT 0
↓ ↓
Not established Not established
Variables can be displayed on the CRT screen and can be set in the MDI panel.
Variables are classified into local variables, common variables, and system variables. The three types of
variables are identified by the variable numbers. The usage of each type of variable differs.
A local variable is a variable used locally in the macro. The value of the variable differs depending on
when the macro is called. A local variable is not destroyed when used in a macro called by another
macro, as in a multiple call.
A local variable is used to transfer an argument. See further section, Commands that Call Macros, for
the relationship between local variables and addresses of arguments. A local local variable without a
transferred argument is vacant in its initial status and can be used freely.
Unlike local variables, which are used in a particular macro, common variables are used throughout the
main program, throughout each subprogram called from the main program, and throughout each macro.
This means that a particular macro, #i, used in one macro is the same as #i used in another macro.
Therefore, the value assigned to #i in one macro can be used in another macro.
The use of common variables is not determined in the system. They can be used freely. When the power is
turned off, common variables #100 to #314 are cleared to <space> and common variables #500 to
#699 are retained.
System variables
#3000: Alarm
When an error is detected in a macro, an alarm is issued. When system variable #3000 is assigned an
alarm number, the alarm lamp is turned on and the system enters the alarm state when the current block is
executed.
To set an alarm number with a macro instruction, assign a value of less than 2000 to system variable
#3000, followed by a message. The message can consist of up to 26 characters, and must be specified
between the control-out and control-in characters.
#3000 = n (<alarm message>)
Example
Macro call command
G65P910 T50000.; (Address must be used with a decimal point.)
1 Suppressed Awaited
Note:
It is invalid to suppress stopping after each block if MSC9 or MSC8 of system parameter No. 19 is
ON. In this case, stopping after each block is not suppressed even if variable #3003 = 1 or 3.
0 O O
1 X O
2 O O
3 X O
4 O X
5 X X
6 O X
7 X X
O: Effective, X: Suppressed
Note:
System variable #3004 is cleared when the system is reset.
TV check
Punch code
Input unit
X mirror image
Y mirror image
(not used)
Axis exchange
Multiply x 10
• •
• •
• •
#4107 D code
#4109 F code
#4111 H code
#4113 M code
#4119 S code
#4120 T code
Example:
To move the machine to the point (xp zp) relative to the reference point through a specified intermediate
point execute a series of operations, and return to the original point.
Macro call command:
G65 P9300 X (intermediate point) Z (intermediate point);
The custom macro body is specitied as follows:
09300;
#1 = #5001;
#2 = #5002;
#3 = #5003;
G00 X#24Y#26;
G04; (Movement is interrupted to read #5021 and #5022.)
G91 X [xp-#5021] Z [xp-#5022];
•
• (Processing)
•
X#24 Z#25;
X#1 X#2;
M99;
Variables can be used in a variety of arithmetic operations. An arithmetic command is specified in the
same way as in general arithmetic expressions:
#i = <formula>
The right side of an arithmetic command, <formula> is a combination of constants, variables, functions,
and operators. A constant can be used instead of #j and #k. A constant without a decimal point used in
<formula> is considered to have a decimal point at the end.
Addition
#i = #j + #k Sum
#i = #j - #k Subtraction
#i = #j OR #k Disjunction (at all 32 bits)
#i = #j XOR #k Exclusive disjunction (at all 32 bits)
Multiplication
#i = #j * #k Product
#i = #j/#k Quotient
#i = #j AND #k Conjunction (at all 32 bits)
Functions
Example:
#1 = ROUND[1.2345];
#1 becomes 1.0.
Example:
IF [#1 LE ROUND[#2]] GOTO 10;
If #2 = 3.567, ROUND[#2] becomes 4.0.
If the rounding function is used in a command related to an address, the value is rounded off to the least
input increment of the address.
Example:
G01X[ROUND[#I];
If #1 is 1.4567 and the least input increment of X is 0.001, this block becomes G01 X1.457. In this
example, the command does the same thing as the command G01X#1;.
The rounding function in an address command is used mainly in the following case.
Example:
To move incrementally by #1 and #2 only and then to return to the starting point
N1 #1 = 1.2345;
N2 #2 = 2.3456;
N3 G01 X #1 F100; (X moves 1.235.)
N4 X #2; (X moves 2.346.)
N5 X -[#1+#2]; (X moves -3.58, since #1 + #2 = 3.5801).
Since 1.235 + 2.346 = 3.581, the program does not return to the starting point when N5 is executed.
However, if the following is specified, N5 X- [ROUND[#1] + ROUND[#2]]; the command becomes equal
to N5 X - [1.235 + 2.346]; and the program returns to the starting point.
The above arithmetic operations and functions can be combined. The order of execution is function,
multiplication, then addition.
Example
A portion of an arithmetic sequence can be assigned priority by enclosing the portion in square brackets,
[ ]. Up to five nests can be specified.
Example
When preparing programs, always consider the precision of custom macro instructions.
Operational precision
An operation executed once generates the following error. These errors are accumulated with each
repeated operation.
a=b+c
2.33 x 10-10 5.32 x 10-10 min.
a=b+c
Note
The function TAN equals SIN/COS.
Performing the operation #2 - #1 does not give the result of 67654.321. This is because custom macro
instructions have a precision of only eight decimal digits. Therefore, in the macro instruction, the values of
#1 and #2 are approximately:
#1 = 9876543200000.000
#2 = 9876543300000.000.
(The internal values differ somewhat from the above values because they are binary)
Consequently, #2 - #1 = 100000.000 which is significantly different from the true value.
Logical operations
The operations EQ, NE, GT, LT, GE and LE are basically the same as addition and subtraction. Therefore,
it is important to consider errors. For example, using the above values of #1 and #2, IF #1 EQ #2 is not
always evaluated correctly. However, in the case of IF ABS #1 - #2 LT 50000, if the difference between
#1 and #2 falls within the range error, both values are considered equal.
Trigonometric functions
Absolute errors occur in trigonometric functions, but since they exceed 10-8, be careful of integration or
division after using a trigonometric function.
Control commands change the flow of processing in a program. There are two control commands: one for
branching (GOTO) and one for iteration (WHILE). These two commands are explained below.
Branching (GOTO)
Format:
IF <conditional expression> GOTOn
If <conditional expression> is true, control branches to the block with block number n in the same program.
If <conditional expression> is not true, control goes to the subsequent block.
Block number n can be replaced by a variable or <formula>.
The first portion of the command, IF <conditional expression>, can be omitted, in which case, control
branches to the specified block unconditionally.
The following expressions can be used for <conditional expression>:
#j EQ #k =
#j NE #k
#j GT #k >
#j LT #k <
#j GE #k
#j LE #k
<formula> can be used instead of #j and #k.
Note:
- The number, n, of block Nn, which is
executed after the command GOTO n, must
be at the start of the block.
- After executing the GOTO n command, the
time taken to execute block n depends on
how far away it is, as follows.
- In the above diagram, the execution time is
increases in the order of (1), (2), (3), and
(4). Therefore, if GOTO n is frequently
executed, it is better to place block Nn as
soon after it as possible.
- If issuing an alarm by checking the value of
a variable, it is better to make the execution
time for the processing to be performed
when no alarm is issued for a long time,
and the processing to be performed when
an alarm is issued at short intervals.
Format:
WHILE [conditional expression] DO m (m = 1, 2, 3)
•
•
•
END m
Blocks DO m to END m are executed while <conditional expression> is true. <conditional expression> is
first evaluated, and if it is true, control passes to the subsequent block. If <conditional expression> is false,
control passes to the block immediately after END m.
Omitting WHILE <conditional expression> does not cause a syntax error, but the result is an infinite loop,
with the blocks from DO m to END m being executed indefinitely.
The WHILE [<conditional expression>] DO m statement and the END m statement must always be paired.
Example
#120 = 1; Repeated ten times
N1 WHILE #120 LE 10 DO 1;
Repeated while the variable
#30 = 1
Notes on iteration
9. In cases where either a branch or iteration can be used, bear in mind that iteration is usually taster.
Example:
To create a loop to wait for signal #1000 to become 1, the following program fragment provides the
fastest processing.
•
•
N10 1 F (#1000 EQ 0) GOTO10;
•
•
WHILE (#1000 EQ 0) DO1;
END 1;
•
•
The custom macro body format is the same as in the subprogram. The format is as follows.
O <Program number>;
Command
M99;
Programs whose numbers are from O8000 to O9999 cannot be registered, erased, or edited unless the
relevant parameter is set.
The dummy argument, which receives data from the macro call command, is fixed. The address specifying
the parameter with the macro call command and the variable number in the custom macro body (the
receiver) are in one-to-one correspondence.
Example
O9081;
G00X#24;
Y#18;
G70Y - (ROUND (#18) + ROUND (#26));
M99;
The custom macro body is a kind of subprogram, and is registered and edited in the same way. The
storage capacity is specified by the tape length as with the subprogram.
Statements other than macro statements are called CNC statements. The difference between the two
statements are as follows:
• Blocks in which processing does not stop after each block is executed in the single block stop mode.
• Blocks in which the macro statement is not regarded as a block which does not specify movement when
the wire diameter is compensated.
• Blocks which are executed at different times.
- A macro statement which is specified in a block next to the block in which an M command that
does not buffer the next block is specified is executed after the block has been executed.
- When a macro statement is specified in a block next to the block in which an M code that buffers
the next block is specified.
Example
Execution N2
of macro statements
Execution N1
of CNC statements
Time
• When the wire diameter is not being compensated the next macro statement is executed immediately the
current block starts to be executed. Macro statements up to the next CNC statement are executed.
Example
N1G01X1000;
Current block Execution N2 N3
N2#1100 = 1; of macro statements
Macro statement executed
Execution N1
N3#1 = 10; of CNC statements
Macro statement executed
N4X2000; Time
Next CNC statement
Example
N1X1000;
Current block Execution N4 N5
N2#10 = 100; of macro statements
Macro statement that has already been executed
Execution N1
N3Y1000; of CNC statements
First CNC statement
N4#1100 = 1; Time
Macro statement executed
N5#1 = 10;
Macro statement executed
N6X-1000;
Second CNC statement
- When the second CNC statement is specified in the block specifying movement, the tirst macro
statement next to the first CNC statement next to the block which is being executed is executed.
- When the second CNC statement is not specified in the block specifying movement, macro
statements up to the third CNC statement next to the block which is being executed are executed.
Example
N1X1000;
Current block Execution N4 N5 N7 N8
N2#10 = 100; of macro statements
Macro statement that has already been executed
Execution N1
N3Y1000; of CNC statements
First CNC statement
N4#1100 = 1; Time
Macro statement executed
N5#1 = 10;
Macro statement executed
N6Z1000;
Second CNC statement (block containing no move commands)
N7#1101 = 1;
Macro statement executed
N8#2 = 20;
Macro statement executed
N9X-1000;
Third CNC statement
Example
N1Y1000;
N2#1100 = 1;
N3#1 = 10; Execution
Macro statement already executed of CNC statements
N4Z1000;
Time
First CNC statement (block containing no move
commands)
N5#1101 = 1;
Macro statement executed
N6#2 = 20;
Macro statement executed
N7X-1000;
Second CNC statement
A macro can be called either from a given block or globally from any block.
The G65 command has the following format: G65 P (program number) L (number of iterations) <argument
assignment>;
This command calls the custom macro body identified by P <program number>.
To transfer an argument to a custom macro body, specify the argument with <argument assignment>. The
following two types of argument assignments can be specified. Here the argument is the actual numeric
value assigned to a variable.
Note
The G65 command must be specified before arguments in the G65 block. A negative sign and
decimal points can be used in the argument regardless of the address.
Argument assignment I
A__B__C__...Z__
Specification is made according to the command address format. Addresses that are not required may be
omitted. Arguments can be assigned for all addresses except G, L, N, 0, and P. The assignments need not
be in alphabetic order, unless I, J, and K are used.
Example
B__A__D__...I__K__ Valid
B__A__D__...J__I__ Invalid
The correspondence between the addresses assigned in argument assignment I and the number of the
variable in the custom macro body is shown in the following table.
A #1
B #2
C #3
D #7
E #8
F #9
H #11
I #4
J #5
K #6
M #13
Q #17
R #18
S #19
T #20
U #21
V #22
W #23
X #24
Y #25
Z #26
Argument assignment II
A__B__C__I__J__K__I__J__K__
Arguments can be assigned to addresses A, B, and C, and up to ten sets of arguments can be assigned to
addresses I, J, and K.
When several arguments are assigned to the same address, they must assigned in a predetermined
sequence.
A #1
B #2
C #3
I1 #4
J1 #5
K1 #6
I2 #7
J2 #8
K2 #9
I3 #10
J3 #11
K3 #12
I4 #13
J4 #14
K4 #15
I5 #16
J5 #17
K5 #18
I6 #19
J6 #20
K6 #21
I7 #22
J7 #23
K7 #24
I8 #25
J8 #26
K8 #27
I9 #28
J9 #29
K9 #30
I10 #31
J10 #32
K10 #33
Example
In this example, arguments 14.0 and D5.0 are
assigned to variable #7. In this case, D5.0 is <Variable>
effective.
Note:
The G66 command must be specified before arguments in the G66 block. A negative sign and
decimal points can be used in the arguments.
Multiple calls
The same as with a subprogram called from another subprogram, a macro can be called from another
macro. The number of calls should be less than or equal to four, including simple and global calls.
In global calling, the specified macro is called each time a move command is executed. When several
global macros are specified, the subsequent macro is called each time a move command in the first macro
is executed. Macros are successively called from the macros assigned subsequently.
Example:
G66 P9100;
Z1000; (1-1)
G66 P9200;
Z15000; (1-2)
G67; P9200 canceled
G67; P9100 canceled
Z-25000; (1-3)
09100;
X 5000; (2-1)
M99;
09200;
Z6000; (3-1)
Z7000; (3-2)
M99;
Note:
A global macro is not called after (1-3),
unless the system is in the macro call mode.
The correspondence between xx in the calling G command and program number ∆∆∆∆ of the called
macro must be set as a parameter containing xx and ∆∆∆∆.
Data No.
0136 G code used to call macro: 9010
•
•
•
•
Example:
To perform clockwise circular machining with the
command G12 I (radius) D (Offset number) it is
necessary to set the following parameters: Start
Macro body: 9010. point
Calling G command: 12.
This G command makes a machining starting from center approching circle tangentialy and returning by
arc (4) and line (5) to start point. Machining precision will be improved at the point A (3).
Instead of specifying
N__G__X__Y__... M98P∆∆∆∆;
the following simple command can be used.
N__G__X__Y__... Mxx;
When the M98 command is specified, the command is displayed on the program check screen, but the
MF and M commands are not transmitted to the CNC.
The correspondence between xx in the calling M command and program number ∆∆∆∆ of the called
macro must be set as a parameter containing xx and ∆∆∆∆.
Up to nine M commands from M03 to M97 except M30 can be used to call subprograms. These
commands can be used in the MDl mode, but no arguments can be passed.
When these M commands are specified in a macro called by a G command or in a subprogram called by
an M or T command, the rnacro or subprogram is not called and the M commands are treated as normal
M commands.
It is necessary to set the following parameters:
Parameters
0146 M code used to call subprogram: 9001
•
•
Instead of specifying
N__G__X__Y__... M98 P9000
use the block
#149 = t
N__G__X__Y__... Tt;
The value t is stored as an argument in common variable #149. A T command that calls a subprogram
cannot be specified in the same block as an M code which calls a subprogram.
When the T command is specified in a macro called by a G command or in a subprogram called by an
M or T command, the macro or subprogram are not called and the T command is treated as a normal T
command.
It is necessary to set the following parameter.
Data No.
0 0 1 9 TMCR
Bit 2, MANP, of system parameter No. 019 is used to specify the least input increment for arguments. If
an argument is specified without the decimal point, use the following table to obtain the position of the
decimal point. The numbers in the table show the number of figures to the decimal point from the least
significant figure.
A, B, C, D 0 0
E, F 2 4
H, I, J 3 5
K 3 3
M 0 0
Q 5 5 0
R 3 5
S 0 0
T 5 5
U, V, W 3 5
X, Y, Z 3 5
The M98 command is used to call subprograms and the G65 command is used to call custom macros.
However, there are important differences between them.
• The G65 command can contain arguments but the M98 command cannot.
• Whereas the G65 command is used only to branch to a subprogram, the M98 command is used to
branch to a subprogram after executing a command other than M, P or L in the block.
• When a block containing the M98 command contains an address other than 0, N, P or L, execution
stops when the block has been executed. With the G65 command, execution does not stop.
• The G65 command changes the level of local variable. The M98 command does not. That is,
#i specified before the G65 command is differentiated from #i in the calling custom macro body. With
the M98 command, #i is the same in both cases.
• The nesting level for the G65 command is four including the nesting of the G66 command. The nesting
level for the M98 command is four.
• Suppose an MDI operation is performed during automatic operation. In this case, up to four M98
command calls can be made in the tape and memory modes, and another four can be made in the MDI
mode. With the G65 command, however, the total maximum is four calls for all modes.
If a G65 or G66 command, or another G command calls two macros, the nesting level of the macro
increases by one. Consequently, the level of the local variable also increases by one. The relationship
between the macro call and local variable is as follows:
Local variable
(Level 0) (Level 1) (Level 2) (Level 3) (Level 4)
MDI operation
lt is impossible to specity a macro call command, operational command, or control command in the MDI
mode. It is possible to execute MDI commands other than macro commands even if execution stops after
each block during macro execution. Note that a macro is called if the G66 command is specified in the
MDI mode.
0 0 1 9 MCS9 MCS8
If MCS8 is 1, execution stops after each block in programs 08000 to 08999. If MCS9 is 1, execution
stops after each block in programs 09000 to 09899.
In the offset C compensation mode, when stopping execution after each block is specified by a macro
statement, the block in which the macro statement has been specified is not assumed to be a block
specitying movement. This may cause incorrect compensation. The block is handled in the same way
as a block in which movement is specified but the distance to be moved is 0.
The setting of this parameter has priority over #3003 which suppresses stopping after each block. Thus if
MCS8 and MCS9 are both set to 1, execution stops after each block in programs in the corresponding
ranges irrespective of the setting of #3003. This is because MCS8 and MCS9 are parameters for
checking macros. Therefore, be sure to set MCS8 and MCS9 to 0 after checking the macros.
0 0 2 8 PRG9 PRG8
When PRG8 is set to 1, it becomes impossible to register, erase, or edit a custom macro body or
subprogram in programs 8000 to 8999. When PRG9 is set to 1, it becomes impossible to register,
erase, or edit a custom macro body or subprogram in programs 9000 to 9899. It is also impossible to
erase all programs or punch a program.
Reset
When the system is reset all local variables and common variables #100 to #314 are cleared to
<vacant>. System variables from #1000 to #1132 are not cleared. If the system is reset in a mode other
than the MDl mode, the status for calling a macro or subprogram and the DO status are cleared and
control returns to the main program. When the system is reset in the MDI mode, only the portion called in
the MDI mode is cleared.
Feed hold
Feed hold stops the execution of macros. Macro execution also stops when an alarm occurs or the system
is reset.
The following codes can be used in the programs in which custom macros are called, in addition to the
codes used in conventional programs.
ISO
Meaning 8 7 6 5 4 3 2 1 Character
[ O O O O • O [
] O O O O • O ]
# O O • O #
• O O O • O •
= O O O O • O =
O O O O • O O O
+ O O O +
EIA
Meaning 8 7 6 5 4 3 2 1 Character
[ O O • O
] O O • O
# Parameter
• O • O O &
= O O O • O O #
1 O O O +
O, the prefix of the program number, must be used. The hole pattern for # in EIA code must be set as
a parameter. However, the character represented by no punched holes cannot be used. Note that
alphabetic characters can be used, but when used as #, they are not used in their proper sense.
0 0 2 5
↑
Sproket hole
&RPPDQGZRUGV
&RPPDQGZRUGV
0RYHPHQWVDQGPDFKLQLQJLQWKH0DFKLQHV\VWHPRIFRRUGLQDWHV
0RYHPHQWVDQGPDFKLQLQJLQWKH3DUWV\VWHPRIFRRUGLQDWHV
3UHGHILQHGPRYHPHQWV
7HFKQRORJLHVDQGPDFKLQLQJVHWWLQJV
$X[LOLDU\IXQFWLRQV
([HFXWLRQRISURJUDPV
7KLVFKDSWHUGHVFULEHVWKHFRPPDQGVWKDWFDQEHHQWHUHGZLWKWKHNH\ERDUGE\WKHXVHULQ0',PRGHIRU
LPPHGLDWHH[HFXWLRQ
1RWH
6RPHRIWKHVHFRPPDQGVKDYHDQHTXLYDOHQWLQWKHIRUPRI,62LQVWUXFWLRQVZKLFKFDQDOVREH
HQWHUHGLQ0',PRGHIRULPPHGLDWHH[HFXWLRQ7KHFRPPDQGVQHYHUWKHOHVVKDYHWKHDGYDQWDJHRI
EHLQJHDVLHUWRPHPRUL]H
7RH[HFXWHWKHVHFRPPDQGV
6HOHFWWKHVFUHHQSDJH(;(¥0',
(QWHUWKHFRPPDQGHQGZLWK5HWXUQ
3UHVVWKH&\FOH6WDUWEXWWRQ
60$ 60$ZLWKRXWSDUDPHWHUVVHWVWKH0DFKLQH;<GLPHQVLRQVWR]HUR
029 029ZLWKRXWSDUDPHWHUVEULQJVWKH;<89D[HVEDFNWR]HUR
0RYHPHQWVDQGPDFKLQLQJLQWKH3DUWV\VWHPRIFRRUGLQDWHV
63$ 63$ZLWKRXWSDUDPHWHUVVHWVWKH3DUW;<GLPHQVLRQVWR]HUR
03$ 03$ZLWKRXWSDUDPHWHUVVHWVWKH3DUW;<GLPHQVLRQVWR]HUR
*2++K =D[LVPRYHPHQWWRSRVLWLRQWKHLQMHFWLRQQR]]OHLQDFFRUGDQFHZLWKWKH
SDUWKHLJKW+
6(3&3S 6WRULQJRIWKHFXUUHQWSRLQW;<89=LQWKH$EVROXWHV\VWHPRIFRRUGLQDWHV
S SRLQWQXPEHUIURPWR
*23S 0RYHPHQWLQWKH$EVROXWHV\VWHPXSWRWKHVWRUHGSRLQWS
S SRLQWQXPEHUIURPWR
1RWH
WKHSRLQWVXVHGE\WKHFRPPDQGV6(3DQG*23DUHVWRUHGLQDWDEOHRIYDULDEOHV9$5WKDWLV
DOVRDFFHVVLEOHYLDDSURJUDPE\PHDQVRIWKHIROORZLQJLQVWUXFWLRQV
6(3&3QLVHTXLYDOHQWWR *$Q
PHPRUL]DWLRQ
*23QLVHTXLYDOHQWWR *$Q
7KHYDOXHVRIWKHWDEOHRIYDULDEOHV9$5DUHDFFHVVLEOHIRUUHDGLQJDQGPRGLILFDWLRQLQWKHVFUHHQ
SDJH(;(8VHU3DUDPHWHUV&1&YDULDEOHV3RLQWV
69$)LOHQDPH 6DYHVWKHWDEOHRIYDULDEOHVFXUUHQWO\EHLQJHGLWHG
/9$)LOHQDPH /RDGVWKHFRQWHQWVRIWKHILOHLQWRWKHWDEOHRIYDULDEOHV
7HFKQRORJLHVDQGPDFKLQLQJVHWWLQJV
7(&WDEOHQDPH! $FWLYDWHVWKHWHFKQRORJ\WDEOHFRQWDLQLQJWKHVHWWLQJVWREHXVHG
:,5WDEOHQDPH! $FWLYDWHVWKHFKDUDFWHULVWLFWDEOHRIWKHZLUHWREHXVHG
&/( 6HWVWKHH[WUDFOHDUDQFHWR]HUR
:&7 3UHSDUDWLRQDQGFXWWLQJRIZLUH
:35 $IWHUEUHDNDJHSUHSDUDWLRQRIZLUHIRUWKUHDGLQJ
([HFXWLRQRISURJUDPV
=&/ 6HWWLQJRIPDFKLQLQJFRXQWHUEDFNWR]HUR
CT-Expert
Introduction 7.3
CT-Expert is a software utility designed for the automatic construction of optimum machining sequences.
A sequence contains in the right order all the settings required for machining a given part, and for each
pass the offset calculated as the sum of material removal of the subsequent passes.
- Just as in the case of a technology table, a sequence is a group of settings, but of a limited number (for
example, 5 or 6).
- For this reason, it is saved in an identical format with the extension .TEC.
- The settings in the sequence are numbered in a continuous manner starting from 501.
- The name of the sequence is chosen freely by the user at the time it is saved.
File management
Operation of CT-Expert is based on the existence of standard technology tables and standard sequences
drawn up by Charmilles Technologies.
After commissioning of the machine, all the files distributed with CT-Expert are in an STD disk (technology
tables, standard sequences proposed by CT)
CT-Expert generates two types of files: machining sequences and command programs. The command
programs are ISO language files whose role is to control the execution of the sequence automatically.
Before activating CT-Expert, the user must create a directory and give it a name. This directory corresponds
to the JOB concept established for storing the files generated by CT-Expert and all the files required for
carrying out a machining operation.
When CT-Expert is activated, the selection window is used for positioning on this directory.
Basic menu
The basic menu ≈Operation Selection∆ is used for selecting one of the 5 operations that can be executed
by means of CT-Expert:
Keyboard
The cursor in the screen pages of CT-Expert is selected by means of the following keys:
Function
Every CT-Expert screen page has 7 soft keys varying according to the context
The function associated with a soft key is activated either by clicking on the button by means of the mouse,
or by pressing one of the corresponding keys F1ºF7 on the keyboard
The following operations can be executed by means of soft keys:
Function
Validate Accept the modifications carried out, close the current window and go on
to the next operation
Go back Abandon the current window and go back to the previous operation
Start again Abandon the current construction and return to the basic menu
Principle of operation
Display of a questionnaire for the purpose of defining the characteristics of the part to be produced
On the basis of the answers supplied, CT-Expert automatically constructs the optimum sequence for
attaining the desired result
Questionnaire
- part height
- material machined
- maximum angle of inclination of the wire
- smallest re-entrant radius
- wire to be used
- type of work
- type of nozzle for roughing
- type of finishing
- accuracy desired
- surface finish.
Apart from the height expressed numerically (in mm or inches), the answers are expressed by selecting from
multiple choices
The contents of the list and the choices proposed at each stage vary according to the answers to the
preceding questions.
For example: the proposals concerning the wire to be used depend on the maximum angle of inclination
and the smallest re-entrant radius
If the conditions expressed by the successive answers are too restrictive and do not lead to any solution, the
user is informed by a special display containing:
- a recapitulation of the questions/answers that led to the impasse
- a message justifying the failure and containing if possible a solution to the problem
At any time it is possible to go back one or several steps (≈go back∆ key or F3) to modify the request with
new conditions.
After all the questions have been answered, the proposed sequence is presented in the ≈Generator
parameters∆ screen page:
Material/Wire: STEEL/SW25X
Part height: 40.00 mm
DNC FS
CT EDIT
EDITOR CAM-CT EXPERT FILES
TABLES
Start Back up Manual Save
Information Edit Finish
Over 1 page Sequence
F1 F2 F3 F4 F5 F6 F7
Modification of result
The file xxx.TEC is created in the ≈JOB∆ directory. If required, the command file is generated (see below:
Generation of a command file).
Principle of operation
On the basis of the technology table of the wire-part pair, manual construction of the optimum sequence for
attaining the desired result
If the technology used for generating the sequence is of standard type, the adjustment parameters are
invariable. If the technology is if the ≈User∆ type, the adjustment parameters can be modified.
- Technology table:
- choose between Standard Technology (e.g.: STD: LS25A.TEC) and User Technology (STD:
ULS25A.TEC).
- place the cursor on the desired wire-part pair, validate with Return.
- Part height: enter the height and then Validate.
- The editing screen is displayed; this screen contains:
- left zone (CT-Expert area): settings available in the technology selected
- right zone (User area): settings making up the sequence.
The + key can be used to enlarge the zone allocated to the sequence (right zone) by presenting a greater
number of parameters. The √ key has the opposite effect.
The example below presents a sequence with expanded right zone.
Settings contained in
technological file Edited sequence
The horizontal arrows are used for moving from the left zone to the right zone
Inserting a setting
- Select the desired insertion position in the right side zone
- Then select the desired setting in the left zone
- Validate with the Return key
Deletion of a setting
- Select in the right side zone the sequence element to be deleted
- Press the Delete key on the keyboard
With each modification, the ≈Off∆ field (offset used for the machining) is updated.
Caution: if a setting is no longer valid with the new height, it is displayed in gray
The file xxx.TEC is created in the ≈JOB∆ directory. If required, the command file is generated (see below:
Generation of a command file).
Principle of operation
- Manual construction of a sequence on the basis of an existing sequence (this procedure is similar to the
manual construction presented above).
- When the machine is delivered, Charmilles proposes standard sequences for all the usual machining
contexts (characterized by the annotation ct in the margin). These standard sequences cannot be
deleted).
- It is possible for users to add their own standard sequences.
Frame containing
sequence under
construction
Set of typical
sequences existing
for wire /part pair
- Technology table:
- select from among Standard Technology (e.g. STD: LS25A.TEC) and User Technology (STD:
ULS25A.TEC)
- place the cursor on the desired wire-part pair, then validate with Return.
- Part height: enter the height and then: Validate.
The editing screen is displayed; this screen contains in the left zone the standard sequences available for
the selected context.
- Select a sequence, confirm with Return: the settings making up the sequence are displayed in the right
side zone.
With each modification, the ≈Off∆ field (offset used for the machining) is updated.
Caution: if a setting is no longer valid with the new height, it is displayed in gray.
- Manual Editing: switches over to the mode of manual editing of the sequence
- Read sequence: displays the list of sequences created by the user.
The file xxx.TEC is created in the ≈JOB∆ directory. If required, the command file is generated (see below:
Generation of a command file).
Select: Save.
Rereading of a sequence
Principle of operation
Activation of this function displays the list of sequences created by the user:
- select a sequence and confirm with Return: the sequence is displayed in the usual way.
The sequence can then be edited in the manual mode already described.
Principle of operation
After a sequence has been created, CT-Expert makes it possible to construct automatically a command
program designed to control automatically the execution of the sequence for a part-program.
The command file can control the execution of a single part or multiple parts. In the latter case, the layout
of the parts and the strategy of execution can be specified.
Execution parameterization
The parameterization menu of the command file makes it possible to define the following conditions of
execution:
- Parameter CLE
Adds a positive or negative extra clearance (instruction inserted at the start of the command program).
This value replaces the current value of the User parameter CLE.
Used for modulating the dimension of the part without modification to the part-program.
- Parameter ROTATION
Adds an angular rotation (instruction inserted at the start of the command program).
This value replaces the current value of the User parameter ROT.
Makes possible an overall rotation of the complete machining operation without modification to the
part-program.
- the command program contains no commands for cutting or threading the wire; it starts execution at the
current wire position
- the starting point becomes the origin of the part system of axes
- the clocks are set at zero
- the thickness of the part is declared according to the specification done in CT-Expert
- the technology table specified in CT-Expert is selected
- the part-program is executed for each setting of the machining sequence, each pass being preceded by
a line of commentary in the program
- for a roughing pass:
- the optional block /0 are validated
- the optional block /1 are cancelled
- after the roughing:
- the optional block /1 are validated
- the optional block /0 are cancelled
Multiple parts
If the ≈Multiple parts∆ parameter is specified, additional windows are displayed to enable the layout of the
parts to be defined:
Rectangular layout Dx
- number of parts (horizontal)
- spacing DX (mm or inches)
(value ignored if No. of columns = 1!)
Dy
R
X
Initial angle
Roughing however is always first executed overall for all parts (this makes it possible to start the roughing
pass in the evening and to remove the slugs as the first operation the next day).
Installation 8.3
Objectives and prerequisites ................................................................... 8.3
Preparation before installation ................................................................. 8.4
Installation of version 1.10 ..................................................................... 8.9
Reconfiguration after installation ............................................................... 8.18
This procedure makes it possible to update with the version 1.10 software all machines equipped with the
CT-Millennium numerical control: FI 240/440, FI 240SL/440SL, FI 240CC/440CC, FI 380/390/690.
This installation automatically copies onto the machine the Man-Machine Interface MMI and the software
of the numerical control.
This installation can only be done from certain versions. You must therefore first check the version that is
in force on your machine.
To do this you need to press the buttons <EXE> <Service> <Config. CNC>.
In the screen that follows, check the number displayed in the field MMI.
Please also check the serial number of your machine. You will find this number on a metal label at the rear
of the machine.
Machine Minimum version required For machines with the following serial numbers:
please contact Charmilles before installing!
Furthermore, please contact Charmilles if the current software version of your machine is older that the one
shown in the above list.
This is because certain preliminary operations are necessary.
Network
If the machine is connected to a computer network, make sure you are able to reconfigure this connection.
If necessary, save the network configuration before starting to carry out the installation.
For example, you can make a print-out of the network configuration screens. If you do not able to do the
reconfiguration, please contact your network administrator.
eConnecT
If the eConnecT option is installed on the machine, you will need to reconfigure it and redefine the list of
contacts. Please call Charmilles.
Saving of data
Before carrying out the installation you must save, either on floppy disks or through the com-
puter network, all your programs and all your wire and technology tables contained on the
User disk U:.
This is because all current data will be deleted by the installation procedure.
Saving on a network :
• Select the file manager of the Preparation module, or contact your network administrator.
Diskette
Prepare a new diskette of 1.44 mb capacity.
For FI 380/390/690 machines you must move the U V Z axes to the origin. To do this, in the screen
<EXE>, please enter the instructions G90 G53 U0V0Z0 in the line MDI. Press <Enter>, and then
press the green button <Start> for machine movement.
• Switch off the machine by pressing the red Stop Machine button <0> of the control panel.
Before restarting the machine you only have 5 seconds in which to press key <F2>
of the keyboard.
• Now you can restart the machine by pressing the green ON button <I> of the control panel.
• Press <F2> on the keyboard after the complete display of the screen as shown previously. If you did not
have enough time, let the machine restart and then switch it off and repeat the preceding operation.
Screen A Screen B
Identify your version by comparison and then refer to the paragraph corresponding to your screen, A or B.
• Press the red Stop Machine button <O> of the control panel of the machine so as to stop the machine.
Please wait for a short time; after about 1 minute the machine stops.
• Press the green On button <I> of the control panel of the machine so as to restart the machine.
During the course of this installation you will have to select the language on two occasions.
The first will concern the language used for the screens displayed during this procedure and
the second will concern the language for the definitive software installed on the machine.
Wait for the PC to restart and for the display of the language selection screen.
Touch screen
Type of machine
• Select the type of machine corresponding to your machine and then press the button <Next> >.
In the event of an erroneous selection, please completely cancel the installation process and restart it.
• Select and tick on the screen the language that the operator wishes to have for utilizing the machine.
Installation
Please follow the procedure shown on the screen and described in greater detail below :
• Open the cabinet door.
• Press the button >> on the screen: the image of stage 2 is displayed.
Look to see where the NC is located in the cabinet..
• Press the button >> on the screen: the image of stage 4 is displayed.
Remove the supply connector CP1. Wait 5 seconds.
At the time of the successive restarts it is not necessary to display the images corresponding
to each stage.
• Take out the diskette from the drive, write <Saving of parameters after installation 1.10.x> on the label,
and keep it carefully.
• Press the red Stop Machine button <O> of the control panel and wait for a short time.
After 1 minute the machine switches off. An empty screen appears.
• Press the green ON button <I> of the control panel so as to restart the machine.
Network
If the machine was connected to the computer network of the company, this connection must be
reconfigured.
eConnecT
If this option was installed on the machine, it has to be reconfigured.
References
It may be necessary to take the references of the machine axes.
- X Y U V Z axes for machines of type FI-x40 (CC) (SL)
- X Y axes for machines of type FI-x90/380
Graphic view
In the screen <EXE> <Service> <Machine Config.> <External Programs>, tick the text line ≈Graphic view".
Loading of macros
In the screen <EXE> <Measurements> <Macros> press the button <Load all macros>.
During the course of this installation you will have to select the language on two occasions.
The first will concern the language used for the screens displayed during this procedure and
the second will concern the language for the definitive software installed on the machine.
• Insert the CD-ROM called ≈SOFTWARE∆ into the drive. When a blue screen appears press a key on the
keyboard for the installation programme to start up automatically.
• Select the <Change HMI language>> button and then the <Next>> button.
• Press the red Stop Machine button <O> of the control panel and wait for a short time.
After 1 minute the machine switches off. An empty screen appears.
• Press the green ON button <I> of the control panel so as to restart the machine.
CT √ Graphic preview
Introduction 9.3
Purpose and functioning ......................................................................... 9.3
Hierarchy of the screen pages ................................................................. 9.3
Activation of the Graphic preview module ................................................. 9.3
The purpose of the Graphic preview module is to allow a validation of syntax and a visual check of ISO
programs before machining.
During the interpretation of the code, no machine action (threading or cutting of wire, flushing, axis move-
ment, etc. . .) is executed.
The figure below illustrates diagrammatically the linking up of the 8 screen pages that make up the inter-
face of the simulator.
- Each of the screen pages above is presented in detail in the following pages
- From each page, selection of a page of lower level is possible by means of a function key
- Returning to the higher level is done by means of one of the 2 Return keys (white triangle ∆ ) located on
either side of the function keys
This screen page is used for examining the list of programs and selecting the one to be tested and dis-
played.
If the file is the correct one, go on to the next stage (Graphic Preview key below).
If not, recommence the selection process.
Keys
Function key
Activation of the next stage (screen page Graphic Preview), to process the program that
has just been selected
This paragraph describes the series of operations that are executed when the Graphic Preview key is
pressed after a .ISO file has been selected.
Syntax check
- there are some fatal errors: the simulation will not be possible, and the program must first be corrected
- there are some minor errors (warnings): the simulation will be possible, but with the likelihood of some
limitations
- there are no errors: the simulation is possible without restriction
The result of the syntax check is displayed as an overlay on the drawing at the end of loading.
Function keys
The following functions for adjusting the display and examining the program are accessible :
Activation of the screen page Context, to define the parameters and environment that
condition the execution of the simulation
Activation of the screen page Show ISO to display the ISO instructions of the program
Activation of the screen page Log File used for scrolling the warning and error messages
during the simulation
The same screen page is displayed, but using the full width of the screen for the zone of
graphic display
Activation of the screen page Draw Parameters to define the display parameters of the
program
- The content and the details of the display's presentation can be parameterized.
- The display parameters are determined in the page Draw Parameters.
=> Consult the documentation of this page for a detailed description of all the display possibilities.
Switching between the representation of the partand the representation of the work tank
The buttons with an asterisk (* ) are fitted with a green indicator light, meaning that when it is lit up
the function is selected.
(forward)
(upward)
(counter-clockwise) (backward) (clockwise)
(to the left) (downward) (to the right)
Indicator
Function key
Activation of the screen page Advanced Options, to supplement the definition of the
parameters and environment.
Parameters
Geometry
Specify - if necessary - in these 5 fields the values of the parameters to be used for modifying the geometry
of the simulation
Offset
Activation /increase of the offset
Taper
Specification of taper machining
Execution
Specifies the execution mode of the simulation
Keys
Saving of the conditions of the current "Context" parameters (in an extension file .xcx)
Indicateur
Travel limits
Specification of the maximum range of X Y Z U V movement on each axis (mm)
WP dimension
Dimensions of the rough part (workpiece)
X Width (mm)
Y Depth (mm)
Z Height (mm)
Optional blocks
Declaration of execution of the optional blocks
Attachment parameter
Management of an attachment to hold the slug
Units
Unit of measurement
mm Dimensions expressed in mm
inch Dimensions expressed in inches
Exit
Mode of interpretation of the movements
Modal data
Displays the status of the adjustments of permanent type (modal)
Keys
Return to the conditions of the initial "Advanced Options" parameters defined by default
In order to ensure application of the new values of the parameters defined in the "Context"
page and in "Advanced Options", it is necessary to execute the simulation once again
(Start button of the screen page Graphic Preview).
Cuts parameters
Display icons
Selection of the symbols to be displayed
View Options
Selection of the presentation options
To ensure application of the new values of the parameters defined in the page "Draw Para-
meters", it is necessary to execute the simulation once again (Start button of the screen
page Graphic Preview).
To broaden the zone of graphic preview: press the Full Screen key.
A sub-set of control buttons is available on the right hand side of the screen.
To return to standard display: press the Normal Screen key.
Counters The first counter contains the instruction number currently selected
The second counter contains the total number of instructions of the program
Buttons
The log of errors guides the user concerning the corrective actions to be carried out in the event of anoma-
lies in the interpretation of the code and the execution of the graphic simulation.
To display the protocol file for simulation (extension .log): press the Log File key.
Information messages : black color Example : machining length on level of reference plane:xx.xxx mm
Maximum taper angle
Warning messages : orange color Example : No technology table selected
No threading command
Fatal error messages : red color Example : ISO syntax error
Button
Activates a window enabling the content of the Log File to be configured by using the tick
boxes (approx 80 different options)