Page 1
If you find any misprint or error, please inform us. • Roland DG Corp. assumes no responsibility for any direct or indirect loss or damage which may occur through use of this product, regardless of any failure to perform on the part of this product.
Miscellaneous Functions (M Functions) Program Stop ..........................47 M 00 Optional Stop ..........................47 M 01 M 02 End of Program .......................... 47 Spindle Motor Start/Stop ......................47 M 03 and M 05 Tool Change ..........................48 M 06 M 30 End of Program .........................
Programming Basics Part Programming The Process of Programming First, examine the drawing and determine such conditions as the workpiece material, the size of the workpiece to be prepared, the tool diameter, the tool type, the proper turning speed, and the proper feed rate. Then determine the sequence in which to cut. The cutting sequence is in extremely important point for carrying out cutting efficiently and safely.
Page 6
Program Structure A program can be classified as a “main program” or a “subprogram.” Main Program Ordinarily, the machine operates according to instructions from a main program. A subprogram, which is described next, is basically specified within a main program. Subprogram If a main program can be likened to the trunk of a tree, then subprograms are branches.
Page 7
: A block containing only a “%” must appear at the start of the data. This notifies the machine of the start (or end) of the data. Such a block may optionally be present at the end of the data. When it appears at the end of the data, the data is specified automatically.
Page 8
Data Output from the Computer Before outputting data, make the appropriate cable connections to link the computer and the machine. Refer to the user's manuals for each model for explanations on making connections and connection specifications. The character code systems supported by the machine are ASCII, ISO, and EIA. ASCII is an abbreviation for the “American Standard Code for Information Interchange.”...
Coordinate Systems The machine uses the Cartesian coordinate system, which has three axes — the X axis, the Y axis, and the Z axis — each of which is perpendicular to the other two. Machine Coordinate Systems A machine coordinate system is a coordinate system determined mechanically with reference to the PNC-3200. The origin point in a machine coordinate system is a point specific to the PNC-3200, and cannot be moved.
Page 10
2. Setting a workpiece coordinate system using G54 to G59 This method is used to set up to six workpiece coordinate origin points and select a coordinate system from among these by means of the program. The workpiece coordinate systems 1 through 6 are set by specifying the amount of shift (the amount of workpiece origin point offset) from the machine coordinate origin point to the workpiece coordinate origin point.
Page 11
G10 can be used to set not only the amount of shift for all workpiece coordinate systems, but also amounts of offset for each individual workpiece coordinate system. Workpiece coordinate system 1 Amount of offset by G10 Workpiece Workpiece origin coordinate system 1 point offset amount Machine coordinate origin point...
Setting Coordinate Values (Amount of Movement) The addresses “X, Y, and Z” or “I, J, and K” are used, followed by the coordinate specification. X, Y, and Z: These specify coordinate values for positioning (G00), linear interpolation (G01), and the like. X, Y, and Z represent the coordinates for the X, Y, and Z axes, respectively.
Setting the Measurement Unit G20 and G21 can be used to set the measurement unit used for movement, feed rate, and offset amounts. G20: Inch input G21: Millimeter input Either G20 or G21 is set at the start of the program, before setting the coordinate system. G20 and G21 should not be changed during the course of a program.
Program Number A main program or subprogram calls and executes another program by specifying a program number. The program number appears at the start of the program. A program number is specified by appending an integer of up to four digits after the letter “O.” The range for program numbers is from 0001 to 9999 -- “0”...
Positioning (G00) This moves in a straight line at maximum speed from the current tool position to the specified point. The word for positioning is “G00.” The addresses X, Y, and Z are used to specify the destination point. When X, Y, and Z are all specified, the three axes move simultaneously.
Page 16
Clockwise Counterclockwise Even when the point for the destination and the center of the circle are identical, circular interpolation is carried out as shown below according to the direction of interpolation. (7000, 17000) Counter Clockwise clockwise rotation rotation G17G02X7000Y17000I12000J5000 (12000, 5000) G17G03X7000Y17000I12000J5000 (0, 0) There is another method, which involves specifying the radius of the circle instead of specifying the circle’s center point.
Cutter Compensation (G40, G41 and G42) The movement of the tool specified by the program is the path taken by the center of the tool. Because the tool has a certain thickness (i.e., a certain diameter), it will over-cut by an amount equal to its radius if the coordinates on the drawing are input just as they are. To cut a shape as specified by the drawing, the tool must be made to move at a place which shifted away by a distance equal to the tool radius.
Spindle Motor Control (M03 and M05) These turn the spindle motor on or off. The M function is used for this. M03 and M05 are used to control the spindle motor. M03 starts rotation of the spindle, and M05 stops it. These functions are activated at the end of the block in which they are specified together.
Page 19
Error message Description The value of a parameter exceeds the allowable range, or the value of the radius for circular Bad Parameter interpolation or the amount of offset is not correct. Only a parameter has been set. The code which specifies the parameter has not been set. Address Undefined A parameter has not been set.
Sample Program Workpiece : Tool path R : 3 mm tool radius 8 mm Tool 8 mm Tool position at start Data start O0001 Program number N01 G91 Incremental programming N02 G21 Set millimeter input N03 G92X0Y0Z0 Set workpiece coordinate origin point N04 G10P01R3.0 Set 3 mm of offset for offset number 1 N05 G00Z5.0...
Reference Part How to Read Part 2 Preparatory Functions (G Functions) Word Positioning Word function Format Words in square brackets G00[X x][Y y][Z z] Parameter Function Acceptable range Effective range (“[]”) may be omitted. Coordinate or movement distance (X axis) Range 1 Maximum cutting range Coordinate or movement distance (Y axis)
Preparatory Functions (G Functions) Positioning Format G00[X x ][Y y ][Z z ] Parameter Function Acceptable range Effective range Coordinate or movement distance (X axis) Range 1 Maximum cutting range Coordinate or movement distance (Y axis) Range 1 Maximum cutting range Coordinate or movement distance (Z axis) Range 1 Maximum cutting range...
Linear Interpolation Format G01[X x ][Y y ][Z z ] Parameter Function Acceptable range Effective range Coordinate or movement distance (X axis) Range 1 Maximum cutting range Coordinate or movement distance (Y axis) Range 1 Maximum cutting range Coordinate or movement distance (Z axis) Range 1 Maximum cutting range Description...
Circular Interpolation G02 and G03 Format [I cx ][J cy ] [X x ][Y y ] R radius [I cx ][K cz ] [X x ][Z z ] R radius [J cy ][K cz ] [Y y ][Z z ] R radius Parameter Function...
Page 25
Even when the point for the destination and the center of the circle are identical, circular interpolation is carried out as shown below according to the direction of interpolation. (7000, 17000) Counter Clockwise clockwise rotation rotation G17G02X7000Y17000I12000J5000 (12000, 5000) G17G03X7000Y17000I12000J5000 (0, 0) Two circles with identical radii and passing through two points exist.
Page 26
Helical Interpolation When an axis is added to the coordinate point for the destination of interpolation, movement in the form of a helix is carried out, as shown below. This is called helical interpolation. A three-dimensional curve is cut by performing a synchronized linear operation along the added axis while carrying out circular interpolation.
Dwell Format G04[X time(X) ] G04[P time(P) ] Parameter Function Acceptable range Effective range time(X) Dwell time Range 1 time(P) Dwell time Range 2 Description G04 specifies the time interval for moving from the previous block to the next block. G04 is normally specified as a single block all by itself.
Data Setting Format G10L2P coordinate [X x][Z z] G10[P number ][R offset ] Parameter Function Acceptable range Effective range coordinate Work coordinate Range 2 0—6 Coordinate or movement distance (X axis) Range 1 Maximum cutting range Coordinate or movement distance (Y axis) Range 1 Maximum cutting range Coordinate or movement distance (Z axis)
Page 29
Workpiece coordinate system 4 Workpiece coordinate system 3 Workpiece coordinate system 1 Machine coordinate Workpiece origin point coordinate system 2 Workpiece coordinate system 6 External workpiece origin Workpiece point offset amount coordinate system 5 EXOFS Setting the Amount of Offset This sets the amount of offset used by the cutter compensation (G41 and G42).
Plane G17, G18 and G19 Format Description This specifies a two-dimensional plane for circular interpolation (G02 or G03). G17 specifies the X-Y plane, G18 specifies the Z-X plane, and G19 specifies the Y-Z plane. Each of these is normally used in combina- tion with G02 or G03 in the same block.
Corner-offset Circular Interpolation Format G39[X x][Y y] Parameter Function Acceptable range Effective range Coordinate or movement distance (X axis) Range 1 Maximum cutting range Coordinate or movement distance (Y axis) Range 1 Maximum cutting range Description Corner-offset circular interpolation is a function which performs tool movement at crossover points during cutter compensation by means of circular interpolation.
Cutter Compensation G40, G41 and G42 Format G40[X x ][Y y ] D number [X x ][Y y ] Parameter Function Acceptable range Effective range Coordinate or movement distance (X axis) Range 1 Maximum cutting range Coordinate or movement distance (Y axis) Range 1 Maximum cutting range number...
Page 33
4. When circular interpolation has been specified, an error is generated if cutter compensation is started or canceled. When positioning (G00) or linear interpolation (G01) has been specified, cutter compensation should be started or canceled. 5. When cutter compensation for circular interpolation is performed, parameters cannot be changed using the display with operation paused.
Page 34
Starting Cutter Compensation Cutter compensation is started with G41 or G42. G41 performs offset to the left-hand side relative to the direction of forward move- ment. Similarly, G42 performs offset to the right-hand side relative to the direction of forward movement. The direction of offset cannot be changed while cutter compensation is in progress.
Page 35
< = Outer-side Obtuse Angle (90° a < 180°) From a line to a line -- Type A From a line to an arc -- Type A Path traveled by center of tool Path traveled by center of tool Start Start position position...
Page 36
Operation at Crossover Points During Cutter Compensation During offset, the tool moves at a position that is always shifted away from the program path by a distance equal to the amount of offset. The figures below show the operation that takes place at a crossover point for a line and another line, a crossover point for a curve and another curve, and a crossover point for a line and a curve.
Page 37
Outer-side Acute Angle (a < 90°) From a line to a line From a line to an arc Amount of offset Amount of offset Amount of offset Programmed Amount of offset path Programmed Path traveled by Path traveled by path center of tool center of tool From an arc to a line...
Page 38
Ending Cutter Compensation Cutter compensation is ended with G40. A positioning (G00) specification is followed by G40. Cutter compensation cannot be ended by circular interpolation (G02 or G03). As shown in the figure below (on the left-hand side), the tool is shifted to the left or the right by the amount of offset as it returns to the end point.
Page 39
Outer-side Acute Angle (a < 90°) From a line to a line -- Type A From a line to an arc -- Type A Path traveled by End point center of tool Amount of offset Amount of offset Programmed path Programmed Path traveled by path...
Scaling G50 and G51 Format G51[X x ][Y y ][Z z ][P scale ] Parameter Function Acceptable range Effective range Coordinate or movement distance (X axis) Range 1 Maximum cutting range Coordinate or movement distance (Y axis) Range 1 Maximum cutting range Coordinate or movement distance (Z axis) Range 1 Maximum cutting range...
G54, G55, G56, Selects Coordinate System G57, G58 and G59 Format Description Up to six workpiece coordinate systems can be set, and any of the set coordinate systems can be selected by programming. G54: Selects workpiece coordinate system 1 G55: Selects workpiece coordinate system 2 G56: Selects workpiece coordinate system 3 G57: Selects workpiece coordinate system 4 G58: Selects workpiece coordinate system 5...
G80, G81, G82, Fixed Cycle (Canned Cycle) G85, G86 and G89 Format G98G81[X x ][Y y ][Z z ][R r ][K times ] G99G81[X x ][Y y ][Z z ][R r ][K times ] G98G82[X x ][Y y ][Z z ][R r ][P time ][K times ] G99G82[X x ][Y y ][Z z ][R r ][P time ][K times ] G98G85[X x ][Y y ][Z z ][R r ][K times ] G99G85[X x ][Y y ][Z z ][R r ][K times ]...
Page 43
X x and Y y move the tool to the starting point. When not specified, drilling is carried out at the current tool position. Z z specifies the location of the bottom of the hole (along the Z axis). When not specified, no drilling is performed. R r specifies the point R level.
Page 44
G82 [G99] G82 [G98] Tool Tool Initial level Initial level Point R level Point R level Workpiece Workpiece Point Z Point Z Maximum speed (fast feed) Set speed (cutting feed) Dwell G85 [G98] G85 [G99] Tool Tool Initial level Initial level Point R level Point R level Workpiece...
Page 45
G89 [G99] G89 [G98] Tool Tool Initial level Initial level Point R level Point R level Workpiece Workpiece Point Z Point Z Maximum speed (fast feed) Set speed (cutting feed) Dwell...
Absolute and Incremental G90 and G91 Format Description There are two types of coordinate specifications: absolute and incremental. The figure below shows the difference between absolute and incremental specifications on an X-Y plane. Absolute specifications indicate the position as the distance from the workpiece coordinate origin, whereas incremental specifications indicate the amount of movement from the current position.
Coordinate System Format G92[X x ][Y y ][Z z ] Parameter Function Acceptable range Effective range Workpiece coordinate (X axis) Range 1 Maximum cutting range Workpiece coordinate (Y axis) Range 1 Maximum cutting range Workpiece coordinate (Z axis) Range 1 Maximum cutting range Description This sets the present position of the tool to the specified workpiece coordinate.
Initial Level Return Format Description This specifies the tool position (along the Z axis) after the completion of a fixed cycle. G98 specifies a return to the initial level. The initial level is the Z-axis tool position in effect before the fixed cycle was specified. See "Fixed Cycle (Canned Cycle) G80, G81, G82, G85, G86 and G89"...
Miscellaneous Functions (M Functions) Program Stop Format Description After the operations specified within the block have been completed, the spindle motor stops. The state of the spindle motor (rotating or stopped) does not change. Optional Stop Format Description This is active when “OPTIONAL STOP” on the PNC-3200 has been set to “ON.” In the same way as for M00, a stop takes place after the operations specified within the block have been completed.
Tool Change Format Description Execution is carried out up to the word just before M06, and operation stops immediately when M06 is executed. If the spindle motor is rotating, the rotation stops. M06 is active when “TOOL CHANGE” on the PNC-3200 has been set to “PAUSE.” Tool Change, Please Hit CANCEL to Break Display when M06 is executed...
Subprogram Call Format M98[P times number] Parameter Function Acceptable range Effective range times Number of calls Range 2 1–9999 number Program number Range 2 0001–9999 Description The subprogram of the specified number is called up and executed. A subprogram call can be made not only from a main program, but from another subprogram as well.
End of Subprogram Format M99[P times number] Parameter Function Acceptable range Effective range number Program number or sequence number Range 1 1—9999 Description This indicates the end of a subprogram. M99 is normally specified alone, with no number parameter, and execution returns to the code after the call source (M98) at that time.
Spindle Speed Function (S Function) This specifies the speed of the spindle motor. The S function does not include a function for starting the spindle motor. It is effective only when the spindle has been started with M03 or is otherwise already turning. Format S revolution speed Parameter...
Feed Function (F Function) This determines the feed rate for the workpiece and the spindle. The feed rate generally varies according to the cutting parameters (such as the spindle speed, tool diameter, and workpiece material). Format F feed rate Parameter Function Acceptable range Effective range...
Other Functions Sequence Number Format N number Parameter Function Acceptable range Effective range number Sequence number 1—9999 1—9999 Description A sequence number is an integer number for a block. It is specified at the start of the block. A sequence number may either be present or absent from any or all blocks. There is also no need for sequence numbers to be consecu- tive, or to be arranged in order from smaller to larger numbers.
Optional Block Skip Format / number Description This function makes it possible to skip over a desired block within a program. Optional block skip is specified at the start of the block. ••••••••• ••••••••• G01Z-7.0 G01Y35.0 /M98P0002 Subprogram call is skipped (not called) G03X15.0Y-15.0I15.0 •••••••••...
End of Block Description A program is a series of instructions (written commands) for the machine, expressed as symbols and numbers. These instructions are separated by EOB markers, with the information between two EOB markers forming one instruction. This single instruction between two EOB markers is called a block.
Words Table Preparatory Functions (G Functions) Effective only Functions Group (*) within the block in which specified G 00 Positioning G 01 Linear interpolation G 02 Clockwise circular interpolation G 03 Counterclockwise circular interpolation G 04 Dwell G 10 Data setting G 17 Specifies the X-Y plane G 18...
Page 60
Miscellaneous Functions (M Functions) Function start Function continue Functions after Maintained until Effective only Code Functions completion of the Functions when canceled or within the block in block in which specified changed which specified specified Program stop M 00 Optional stop M 01 End of program M 02...
Need help?
Do you have a question about the Camm-3 PNC-3200 and is the answer not in the manual?
Questions and answers