Mitsubishi Electric MELDAS C6 Programming Manual
Mitsubishi Electric MELDAS C6 Programming Manual

Mitsubishi Electric MELDAS C6 Programming Manual

Hide thumbs Also See for MELDAS C6:
Table of Contents

Advertisement

Quick Links

CNC
C6/C64/C64T
PROGRAMMING MANUAL
(MACHINING CENTER/TRANSFER MACHINE TYPE)
BNP-B2260B(ENG)

Advertisement

Table of Contents
loading

Summary of Contents for Mitsubishi Electric MELDAS C6

  • Page 1 C6/C64/C64T PROGRAMMING MANUAL (MACHINING CENTER/TRANSFER MACHINE TYPE) BNP-B2260B(ENG)
  • Page 2 MELDAS is a registered trademark of Mitsubishi Electric Corporation. Other company and product names that appear in this manual are trademarks or registered trademarks of the respective company.
  • Page 3 Introduction This manual is a guide for using the MELDAS C6/C64/C64T. Programming is described in this manual, so read this manual thoroughly before starting programming. Thoroughly study the "Precautions for Safety" on the following page to ensure safe use of the this NC unit.
  • Page 4 Precautions for Safety Always read the specifications issued by the machine maker, this manual, related manuals and attached documents before installation, operation, programming, maintenance or inspection to ensure correct use. Understand this numerical controller, safety items and cautions before using the unit. This manual ranks the safety precautions into "DANGER", "WARNING"...
  • Page 5 CAUTION Turn the mirror image ON and OFF at the mirror image center. If the tool offset amount is changed during automatic operation (including during single block stop), it will be validated from the next block or blocks onwards. 3. Items related to programming The commands with "no value after G"...
  • Page 6: Table Of Contents

    Contents Page 1. Control Axes ..........................1 1.1 Coordinate word and control axis ..................1 1.2 Coordinate systems and coordinate zero point symbols........... 2 2. Input Command Units ....................... 3 2.1 Input command units......................3 2.2 Input setting units ....................... 3 3.
  • Page 7 10. Spindle Functions ......................... 75 10.1 Spindle functions (S2-digits BCD) ..During standard PLC specifications ....75 10.2 Spindle functions (S6-digits Analog)................75 10.3 Spindle functions (S8-digits) ..................76 10.4 Multiple spindle control I ....................77 10.4.1 Multiple spindle control................... 77 10.4.2 Spindle selection command ...................
  • Page 8 13.15 Start Point Designation Synchronizing (Type 2); G116..........273 13.16 Miscellaneous function output during axis movement; G117........276 14. Coordinates System Setting Functions................278 14.1 Coordinate words and control axes ................278 14.2 Basic machine, work and local coordinate systems............ 279 14.3 Machine zero point and 2nd, 3rd, 4th reference points (Zero point) ......
  • Page 9: Control Axes

    1. Control Axes 1.1 Coordinate word and control axis 1. Control Axes 1.1 Coordinate word and control axis Function and purpose In the standard specifications, there are 3 control axes, but, by adding an additional axis, up to 14 axes can be controlled. The designation of the processing direction responds to those axes and uses a coordinate word made up of alphabet characters that have been decided beforehand.
  • Page 10: Coordinate Systems And Coordinate Zero Point Symbols

    1. Control Axes 1.2 Coordinate systems and coordinate zero point symbols 1.2 Coordinate systems and coordinate zero point symbols Function and purpose Reference point Machine coordinate zero point Work coordinate zero points (G54 - G59) Machine zero point Basic machine coordinate system 1st reference point Work coordinate...
  • Page 11: Input Command Units

    2. Input Command Units 2.1 Input command units 2. Input Command Units 2.1 Input command units Function and purpose These are the units used for the movement amounts in the program. They are expressed in millimeters, inches or degrees (°). 2.2 Input setting units Function and purpose These are the units of setting data which are used, as with the compensation amounts, in common...
  • Page 12: Data Formats

    3. Data Formats 3.1 Tape codes 3. Data Formats 3.1 Tape codes Function and purpose The tape command codes used for this controller are combinations of alphabet letters (A, B, C, ... Z), numbers (0, 1, 2 ... 9) and signs (+, –, / ...). These alphabet letters, numbers and signs are referred to as characters.
  • Page 13 3. Data Formats 3.1 Tape codes (2) Control out, control in When the ISO code is used, all data between control out "(" and control in ")" or ";" are ignored, although these data appear on the setting and display unit. Consequently, the command tape name, number and other such data not directly related to control can be inserted in this section.
  • Page 14 3. Data Formats 3.1 Tape codes ISO code (R-840) Feed holes 8 7 6 5 4 3 2 1 Channel No. • •• • • • •• • • •• •• • • •• • • •• • • • ••...
  • Page 15: Program Formats

    3. Data Formats 3.2 Program formats 3.2 Program formats Function and purpose The prescribed arrangement used when assigning control information to the controller is known as the program format, and the format used with this controller is called the "word address format". Detailed description (1) Word and address A word is a collection of characters arranged in a specific sequence.
  • Page 16 3. Data Formats 3.2 Program formats Item Metric command Inch command Program number Sequence number Preparatory function G2/G21 Input X+52 Y+52 Z+52 α+52 0.01(°), mm setting unit Movement axis Input 0.001(°), mm/ X+53 Y+53 Z+53 α+53 X+44 Y+44 Z+44 α+44 setting unit 0.0001 inch Input...
  • Page 17: Program Address Check Function

    3. Data Formats 3.3 Program address check function 3.3 Program address check function Function and purpose The program can be checked in word units when operating machining programs. Detailed description (1) Address check This function enables simple checking of program addresses in word units. If the alphabetic characters are continuous, the program error (P32) will occur.
  • Page 18: Optional Block Skip

    3. Data Formats 3.5 Optional block skip 3.5 Optional block skip ; / Function and purpose This function selectively ignores specific blocks in a machining program which starts with the "/" (slash) code. Detailed description (1) Provided that the optional block skip switch is ON, blocks starting with the "/" code are ignored. They are executed if the switch is OFF.
  • Page 19: Program/Sequence/Block Numbers ; O, N

    3. Data Formats 3.6 Program/sequence/block numbers ; O, N 3.6 Program/sequence/block numbers ; O, N Function and purpose These numbers are used for monitoring the execution of the machining programs and for calling both machining programs and specific stages in machining programs. (1) Program numbers are classified by workpiece correspondence or by subprogram units, and they are designated by the address "0"...
  • Page 20: Parity H/V

    3. Data Formats 3.7 Parity H/V 3.7 Parity H/V Function and purpose Parity check provides a mean of checking whether the tape has been correctly perforated or not. This involves checking for perforated code errors or, in other words, for perforation errors. There are two types of parity check: Parity H and Parity V.
  • Page 21: G Code Lists

    3. Data Formats 3.8 G code lists 3.8 G code lists Function and purpose G code Group Function ∆ Positioning * 01 Linear interpolation Circular interpolation CW (clockwise) Circular interpolation CCW (counterclockwise) Dwell Exact stop check Program parameter input/compensation input Program parameter input cancel Circular cut CW (clockwise) Circular cut CCW (counterclockwise)
  • Page 22 3. Data Formats 3.8 G code lists G code Group Function Special fixed cycle (bolt hole circle) Special fixed cycle (line at angle) Special fixed cycle (arc) Automatic tool length measurement 37.1 Special fixed cycle (grid) Tool radius compensation vector designation Tool radius compensation corner arc * 40 Tool radius compensation cancel...
  • Page 23 3. Data Formats 3.8 G code lists G code Group Function Fixed cycle (drill/counter boring) Fixed cycle (deep drilling) Fixed cycle (tapping) Fixed cycle (boring) Fixed cycle (boring) Fixed cycle (back boring) Fixed cycle (boring) Fixed cycle (boring) ∆ Absolute value command * 91 Incremental command value Machine coordinate system setting...
  • Page 24: Precautions Before Starting Machining

    3. Data Formats 3.8 G code lists (Note 6) Whether the modal is initialized differs for each reset input. (1) "Reset 1" The modal is initialized when the reset initialization parameter (#1151 rstinit) is ON. (2) "Reset 2 "and "Reset and Rewind" The modal is initialized when the signal is input.
  • Page 25: Buffer Register

    4. Buffer Register 4.1 Pre-read buffers 4. Buffer Register Analysis processing Max. 5 execution blocks Pre-read buffer 5 buffer 4 buffer 3 Memory buffer 2 Mode Arithmetic switching Keyboard buffer 1 processing MDI data Note : Data equivalent to 1 block are stored in 1 pre-read buffer. 4.1 Pre-read buffers Function and purpose During automatic processing, the contents of 1 block are normally pre-read so that program...
  • Page 26: Position Commands

    5. Position Commands 5.1 Position command methods 5. Position Commands 5.1 Position command methods ; G90, G91 Function and purpose By using the G90 and G91 commands, it is possible to execute the next coordinate commands using absolute values or incremental values. The R-designated circle radius and the center of the circle determined by I, J, K are always incremental value commands.
  • Page 27 5. Position Commands 5.1 Position command methods (3) Since multiple commands can be issued in the same block, it is possible to command specific addresses as either absolute values or incremental values. 200. N 4 G90 X300. G91 Y100.; 100. The X axis is treated in the absolute value mode, and with G90 is moved to the workpiece coordinate...
  • Page 28: Inch/Metric Command Change; G20, G21

    5. Position Commands 5.2 Inch/metric command change 5.2 Inch/metric command change; G20, G21 Function and purpose These G commands are used to change between the inch and millimeter (metric) systems. Command format G20/G21; : Inch command : Metric command Detailed description G20 and G21 selection is meaningful only for linear axes and it is meaningless for rotary axes.
  • Page 29: Decimal Point Input

    5. Position Commands 5.3 Decimal point input 5.3 Decimal point input Function and purpose This function enables the decimal point command to be input. It assigns the decimal point in millimeter or inch units for the machining program input information that defines the tool paths, distances and speeds.
  • Page 30 5. Position Commands 5.3 Decimal point input Example of program (1) Example of program for decimal point valid address Specification Decimal point Decimal point command 1 division command 2 When 1 = 1µm When 1 = 10µm 1 = 1mm Program example G0X123.45 (decimal points are all mm...
  • Page 31 5. Position Commands 5.3 Decimal point input Addresses used and valid/invalid decimal point commands Decimal point Address Application Remarks command Valid Coordinate position data Invalid Revolving table, miscellaneous function code Valid Angle data Invalid Data settings, axis numbers (G10) Valid Coordinate position data Invalid Revolving table, miscellaneous function code...
  • Page 32 5. Position Commands 5.3 Decimal point input Decimal point Address Application Remarks command Invalid Sequence numbers Invalid Program parameter input, data numbers Invalid Program numbers Valid Dwell time Parameter Invalid Subprogram program call No. Invalid Dwell time at hole bottom of tap cycle Invalid Number of holes of the special fixed cycle Invalid...
  • Page 33: Interpolation Functions

    6. Interpolation Functions 6.1 Positioning (Rapid traverse) 6. Interpolation Functions 6.1 Positioning (Rapid traverse); G00 Function and purpose This command is accompanied by coordinate words. It positions the tool along a linear or non-linear path from the present point as the start point to the end point which is specified by the coordinate words.
  • Page 34 6. Interpolation Functions 6.1 Positioning (Rapid traverse) Example of program +300 Tool End point (-120,+200,+300) +150 Start point -100 (+150,-100,+150) -120 Unit : mm +150 +200 G91 G00 X-270000 Y300000 Z150000 ; (For input setting unit: 0.001mm) (Note 1) When parameter "#1086 G0Intp" is set to "0", the path along which the tool is positioned is the shortest path connecting the start and end points.
  • Page 35 6. Interpolation Functions 6.1 Positioning (Rapid traverse) (Note 2) When parameter "#1086 G0Intp" is set to 1, the tool will move along the path from the start point to the end point at the rapid traverse rate of each axis. When, for instance, the Y-axis and Z-axis rapid traverse rates are both 9600mm/min, the tool will follow the path in the figure below if the following is programmed: G91 G00 X-300000 Y200000 ;...
  • Page 36 6. Interpolation Functions 6.1 Positioning (Rapid traverse) ■ When “inpos” = “0” Upon completion of the rapid traverse (G00), the next block will be executed after the deceleration check time (Td) has elapsed. The deceleration check time (Td) is as follows, depending on the acceleration/deceleration type.
  • Page 37 6. Interpolation Functions 6.1 Positioning (Rapid traverse) Operation during in-position check Execution of the next block starts after confirming that the position error amount of the positioning (rapid traverse: G00) command block and the block that carries out deceleration check with the linear interpolation (G01) command is less than the in-position width issued in this command.
  • Page 38 6. Interpolation Functions 6.1 Positioning (Rapid traverse) In-position width setting When the servo parameter "#2224 SV024" setting value is smaller than the setting value of the G0 in-position width "#2077 G0inps" and the G1 in-position width "#2078 G1inps", the in-position check is carried out with the G0 in-position width and the G1 in-position width.
  • Page 39: Linear Interpolation; G01

    6. Interpolation Functions 6.2 Linear interpolation 6.2 Linear interpolation; G01 Function and purpose This command is accompanied by coordinate words and a feedrate command. It makes the tool move (interpolate) linearly from its present position to the end point specified by the coordinate words at the speed specified by address F.
  • Page 40 6. Interpolation Functions 6.2 Linear interpolation Example of program → P → P → P → P (Example 1) Cutting in the sequence of P at 300 mm/min feedrate → P is for tool positioning Unit: mm Input setting unit: 0.001mm →...
  • Page 41: Plane Selection; G17, G18, G19

    6. Interpolation Functions 6.3 Plane selection 6.3 Plane selection; G17, G18, G19 Function and purpose The plane to which the movement of the tool during the circle interpolation (including helical cutting) and tool diameter compensation command belongs is selected. By registering the basic three axes and the corresponding parallel axis as parameters, a plane can be selected by two axes that are not the parallel axis.
  • Page 42 6. Interpolation Functions 6.3 Plane selection Plane selection system In Table 1, I is the horizontal axis for the G17 plane or the vertical axis for the G18 plane J is the vertical axis for the G17 plane or the horizontal axis for the G19 plane K is the horizontal axis for the G18 plane or the vertical axis for the G19 plane In other words, G17 ..
  • Page 43: Circular Interpolation; G02, G03

    6. Interpolation Functions 6.4 Circular interpolation 6.4 Circular interpolation; G02, G03 Function and purpose These commands serve to move the tool along an arc. Command format G02 (G03) Xx Yy Ii Jj Kk Ff; : Clockwise (CW) : Counterclockwise (CCW) Xx, Yy : End point Ii, Jj...
  • Page 44 6. Interpolation Functions 6.4 Circular interpolation Detailed description (1) G02 (or G03) is retained until another G command (G00, G01 or G33) in the 01 group that changes its mode is issued. The arc rotation direction is distinguished by G02 and G03. G02 Clockwise (CW) G03 Counterclockwise (CCW) G17(X-Y)plane...
  • Page 45 6. Interpolation Functions 6.4 Circular interpolation Example of program (Example 1) Y axis Feedrate Circle center F = 500mm/min J = 50mm X axis Start point/end point G02 J50000 F500 ; Circle command (Example 2) Y axis Feedrate End point Arc center F = 500mm/min X50 Y50mm...
  • Page 46 6. Interpolation Functions 6.4 Circular interpolation Plane selection The planes in which the arc exists are the following three planes (refer to the detailed drawings), and are selected with the following method. XY plane G17; Command with a (plane selection G code) ZX plane G18;...
  • Page 47: R-Specified Circular Interpolation; G02, G03

    6. Interpolation Functions 6.5 R-specified circular interpolation 6.5 R-specified circular interpolation; G02, G03 Function and purpose Along with the conventional circular interpolation commands based on the arc center coordinate (I, J, K) designation, these commands can also be issued by directly designating the arc radius R. Command format G02 (G03) Xx Yy Rr Ff ;...
  • Page 48 6. Interpolation Functions 6.5 R-specified circular interpolation Example of program (Example 1) G02 Xx XY plane R-specified arc (Example 2) G03 Zz ZX plane R-specified arc (Example 3) G02 Xx XY plane R-specified arc (When the R specification and I, J, (K) specification are contained in the same block, the R specification has priority in processing.) (Example 4)
  • Page 49: Helical Interpolation ; G17 To G19, G02, G03

    6. Interpolation Functions 6.6 Helical interpolation 6.6 Helical interpolation ; G17 to G19, G02, G03 Function and purpose While circular interpolating with G02/G03 within the plane selected with the plane selection G code (G17, G18, G19), the 3rd axis can be linearly interpolated. Command format G17 G02 (G03) Xx G17 G02 (G03) Xx...
  • Page 50 6. Interpolation Functions 6.6 Helical interpolation Detailed description θ Z axis θ time End point θ Second time Y axis First time Start point X axis (1) For this command, command a linear axis (multiple axes can be commanded) that does not contain a circular axis in the circular interpolation command.
  • Page 51 6. Interpolation Functions 6.6 Helical interpolation Example of program (Example 1) Z axis Y axis X axis G17 ; XY plane G03 Xx Zz1 Ii1 Jj1 P0 Ff1 ; XY plane arc, Z axis linear (Note) If pitch No. is 0, address P can be omitted. (Example 2) Z axis Y axis...
  • Page 52 6. Interpolation Functions 6.6 Helical interpolation (Example 5) G18 G02 Xx ZX plane arc, U axis, Y axis linear (The J command is ignored) (Note) Two or more axes can be designated for the linear interpolation axis.
  • Page 53: Thread Cutting

    6. Interpolation Functions 6.7 Thread cutting 6.7 Thread cutting 6.7.1 Constant lead thread cutting ; G33 Function and purpose The G33 command exercises feed control over the tool which is synchronized with the spindle rotation and so this makes it possible to conduct constant-lead straight thread-cutting and tapered thread-cutting.
  • Page 54 6. Interpolation Functions 6.7 Thread cutting Thread cutting Inch input Input unit system B (0.0001inch) C (0.00001inch) E (threads/ E (threads/ F (inch/rev) E (inch/rev) F (inch/rev) E (inch/rev) Command address inch) inch) Minimum command 1(=1.0000), 1(=1.000000), 1 (= 1.0000), 1(=1.00000), 1(=1.000000), 1(=1.0000),...
  • Page 55 6. Interpolation Functions 6.7 Thread cutting Example of program N110 G90 G0 X-200. Y-200. S50 M3 ; The spindle center is positioned to the workpiece center, and the spindle rotates in the forward direction. N111 Z110. ; N112 G33 Z40. F6.0 ; The first thread cutting is executed.
  • Page 56: Inch Thread Cutting; G33

    6. Interpolation Functions 6.7 Thread cutting 6.7.2 Inch thread cutting; G33 Function and purpose If the number of ridges per inch in the long axis direction is assigned in the G33 command, the feed of the tool synchronized with the spindle rotation will be controlled, which means that constant-lead straight thread-cutting and tapered thread-cutting can be performed.
  • Page 57: Uni-Directional Positioning; G60

    6. Interpolation Functions 6.7 Thread cutting Example of program Thread lead ..3 threads/inch (= 8.46666 ...) When programmed with δ = 10mm, δ = 10mm using metric input δ 50.0mm δ N210 G90 G0X-200. Y-200. S50M3; N211 Z110.; N212 G91 G33 Z-70.E3.0; (First thread cutting) N213 M19;...
  • Page 58 6. Interpolation Functions 6.8 Uni-directional positioning Command format G60 Xx Yy Zz α α α : Additional axis Detailed description (1) The creep distance for the final positioning as well as the final positioning direction is set by parameter. (2) After the tool has moved at the rapid traverse rate to the position separated from the final position by an amount equivalent to the creep distance, it move to the final position in accordance with the rapid traverse setting where its positioning is completed.
  • Page 59: Feed Functions

    7. Feed Functions 7.1 Rapid traverse rate 7. Feed Functions 7.1 Rapid traverse rate Function and purpose The rapid traverse rate can be set independently for each axis. The available speed ranges are from 1 mm/min to 1,000,000 mm/min for input setting units of 1µm. The upper limit is subject to the restrictions imposed by the machine specifications.
  • Page 60: F1-Digit Feed

    7. Feed Functions 7.3 F1-digit feed 7.3 F1-digit feed Function and purpose By setting the F1-digit feed parameter, the feedrate which has been set to correspond to the 1-digit number following the F address serves as the command value. When F0 is assigned, the rapid traverse rate is established and the speed is the same as for G00. (G modal does not change.) When F1 to F5 is assigned, the feedrate set to correspond to the command serves as the command value.
  • Page 61 7. Feed Functions 7.3 F1-digit feed (3) F1-digit and G commands (a) 01 group G command in same block as F1-digit commands Executed feedrate Modal display rate G modal G0F0 Rapid traverse rate F0G0 G0F1 Rapid traverse rate F1G0 G1F0 Rapid traverse rate F0G1 G1F1...
  • Page 62: Synchronous Feed; G94, G95

    7. Feed Functions 7.4 Synchronous feed 7.4 Synchronous feed; G94, G95 Function and purpose Using the G95 command, it is possible to assign the feed amount per rotation with an F code. When this command is used, the rotary encoder must be attached to the spindle. When the G94 command is issued the per-minute feed rate will return to the designated per-minute feed (asynchronous feed) mode.
  • Page 63 7. Feed Functions 7.4 Synchronous feed (Note 1) The effective rate (mm/min or inch/min), which is produced by converting the commanded speed, the spindle speed and the cutting feed override into the per-minute speed, appears as the FC on the monitor 1. Screen of the setting and display unit.
  • Page 64: Feedrate Designation And Effects On Control Axes

    7. Feed Functions 7.5 Feedrate designation and effects on control axes 7.5 Feedrate designation and effects on control axes Function and purpose It has already been mentioned that a machine has a number of control axes. These control axes can be divided into linear axes which control linear movement and rotary axes which control rotary movement.
  • Page 65 7. Feed Functions 7.5 Feedrate designation and effects on control axes (Example) When the feedrate is designated as "f" and the linear axes (X and Y) are to be controlled using the circular interpolation function. In this case, the feed rate of the X and Z axes will change along with the tool movement.
  • Page 66 7. Feed Functions 7.5 Feedrate designation and effects on control axes (Example) When the feed rate is designated as "f" and Linear (X) and rotary © axes are to be controlled simultaneously. In the X-axis incremental command value is "x" and the C-axis incremental command values is "c": Size and direction are fixed for fx.
  • Page 67: Automatic Acceleration/Deceleration

    7. Feed Functions 7.6 Automatic acceleration/deceleration 7.6 Automatic acceleration/deceleration Function and purpose The rapid traverse and manual feed acceleration/deceleration pattern is linear acceleration and linear deceleration. Time constant T can be set independently for each axis using parameters in 1ms steps from 1 to 500ms.
  • Page 68: Exact Stop Check; G09

    7. Feed Functions 7.8 Exact stop check 7.8 Exact stop check; G09 Function and purpose In order to prevent roundness during corner cutting and machine shock when the tool feedrate changes suddenly, there are times when it is desirable to start the commands in the following block once the in-position state after the machine has decelerated and stopped or the elapsing of the deceleration check time has been checked.
  • Page 69 7. Feed Functions 7.8 Exact stop check Detailed description (1) With continuous cutting feed Next block Previous block Fig. 2 Continuous cutting feed command (2) With cutting feed in-position check Next block Previous block Lc (in-position width) Fig. 3 Block joint with cutting feed in-position check In Figs.
  • Page 70 7. Feed Functions 7.8 Exact stop check (3) With deceleration check (a) With linear acceleration/deceleration Next block Previous block Ts : Acceleration/deceleration time constant Td : Deceleration check time Td = Ts + ( 0 ~ 14ms) (b) With exponential acceleration/deceleration Previous block Next block Ts : Acceleration/deceleration time constant...
  • Page 71: Exact Stop Check Mode ; G61

    7. Feed Functions 7.9 Exact stop check mode 7.9 Exact stop check mode ; G61 Function and purpose Whereas the G09 exact stop check command checks the in-position status only for the block in which the command has been assigned, the G61 command functions as a modal. This means that deceleration will apply at the end points of each block to all the cutting commands (G01 to G03) subsequent to G61 and that the in-position status will be checked.
  • Page 72: Automatic Corner Override ; G62

    7. Feed Functions 7.10 Automatic corner override 7.10 Automatic corner override ; G62 Function and purpose With tool radius compensation, this function reduces the load during inside cutting of automatic corner R, or during inside corner cutting, by automatically applying override to the feed rate. Automatic corner override is valid until the tool radius compensation cancel (G40), exact stop check mode (G61), high-accuracy control mode (G61.1), tapping mode (G63), or cutting mode (G64) command is issued.
  • Page 73 7. Feed Functions 7.10 Automatic corner override (1) Operation (a) When automatic corner override is not to be applied : When the tool moves in the order of (1) → (2) → (3) in Fig. 1, the machining allowance at (3) increases by an amount equivalent to the area of shaded section S and so the tool load increases.
  • Page 74 7. Feed Functions 7.10 Automatic corner override Application example (1) Line − line corner Program θ Tool center Tool The override set in the parameter is applied at Ci. (2) Line − arc (outside) corner Tool center Program θ Tool The override set in the parameter is applied at Ci.
  • Page 75 7. Feed Functions 7.10 Automatic corner override Relation with other functions Function Override at corner Cutting feed override Automatic corner override is applied after cutting feed override has been applied. Override cancel Automatic corner override is not canceled by override cancel. Speed clamp Valid after automatic corner override Dry run...
  • Page 76 7. Feed Functions 7.10 Automatic corner override Precautions (1) Automatic corner override is valid only in the G01, G02, and G03 modes; it is not effective in the G00 mode. When switching from the G00 mode to the G01 (or G02 or G03) mode at a corner (or vice versa), automatic corner override will not be applied at that corner in the G00 block.
  • Page 77: Tapping Mode ; G63

    7. Feed Functions 7.11 Tapping mode 7.11 Tapping mode ; G63 Function and purpose The G63 command allows the control mode best suited for tapping to be entered, as indicated below : (1) Cutting override is fixed at 100%. (2) Deceleration commands at joints between blocks are invalid. (3) Feed hold is invalid.
  • Page 78: Dwell

    8. Dwell 8.1 Per-second dwell 8. Dwell The G04 command can delay the start of the next block. The dwell remaining time can be canceled by adding the multi-step skip function. 8.1 Per-second dwell ; G04 Function and purpose The machine movement is temporarily stopped by the program command to make the waiting time state.
  • Page 79 8. Dwell 8.1 Per-second dwell Example of program Dwell time [sec] Command #1078 Decpt2 = 0 #1078 Decpt2 = 1 G04 X500 ; G04 X5000 ; 5000 G04 X5. ; G04 X#100 ; 1000 1000 G04 P5000 ; 5000 G04 P12.345 ; 12.345 12.345 G04 P#100 ;...
  • Page 80: Miscellaneous Functions

    9. Miscellaneous Functions 9.1 Miscellaneous functions (M8-digits BCD) 9. Miscellaneous Functions 9.1 Miscellaneous functions (M8-digits BCD) Function and purpose The miscellaneous (M) functions are also known as auxiliary functions, and they include such numerically controlled machine functions as spindle forward and reverse rotation, operation stop and coolant ON/OFF.
  • Page 81 9. Miscellaneous Functions 9.1 Miscellaneous functions (M8-digits BCD) Program end : M02 or M30 This command is normally used in the final block for completing the machining, and so it is primarily used for tape rewinding. Whether the tape is actually rewound or not depends on the machine specifications.
  • Page 82: Secondary Miscellaneous Functions (B8-Digits, A8 Or C8-Digits)

    9. Miscellaneous Functions 9.2 Secondary miscellaneous functions (B8-digits, A8 or C8-digits) 9.2 Secondary miscellaneous functions (B8-digits, A8 or C8-digits) Function and purpose These serve to assign the indexing table positioning and other such functions. In this controller, they are assigned by an 8-digit number from 0 to 99999999 following address A, B or C. The machine maker determines which codes correspond to which positions.
  • Page 83: Spindle Functions

    10. Spindle Functions 10.1 Spindle functions (S2-digits BCD) 10. Spindle Functions 10.1 Spindle functions (S2-digits BCD) ..During standard PLC specifications Function and purpose The spindle functions are also known simply as S functions and they assign the spindle rotation speed.
  • Page 84: Spindle Functions (S8-Digits)

    10. Spindle Functions 10.3 Spindle functions (S8-digits) 10.3 Spindle functions (S8-digits) Function and purpose These functions are assigned with an 8-digit (0 to 99999999) number following the address S, and one group can be assigned in one block. The output signal is a 32-bit binary data with sign and start signal. Processing and completion sequences are required for all S commands.
  • Page 85: Multiple Spindle Control I

    10. Spindle Functions 10.4 Multiple spindle control I 10.4 Multiple spindle control I 10.4.1 Multiple spindle control Function and purpose Spindle rotation command for up to 7 spindles is provided. Although the S ∗∗∗∗∗ command is normally used to designate the spindle rotation speed, the Sn= ∗∗∗∗∗...
  • Page 86: Spindle Selection Command

    10. Spindle Functions 10.4 Multiple spindle control I 10.4.2 Spindle selection command Function and purpose This function controls which spindle’s rotation the cutting follows, in addition, designates the spindle to be selected when "S ∗∗∗∗∗∗ " command is issued. Command format G43.1;...
  • Page 87 10. Spindle Functions 10.4 Multiple spindle control I Relation with other functions (1) The following functions change after the spindle selection command. (a) Per rotation command (synchronous feed) Even if F is commanded in the G95 mode, the per rotation feedrate for the selected spindle (nth spindle) will be applied during G43.1 mode and for the 2nd spindle during G44.1 mode.
  • Page 88: Constant Surface Speed Control; G96, G97

    10. Spindle Functions 10.5 Constant surface speed control 10.5 Constant surface speed control; G96, G97 10.5.1 Constant surface speed control Function and purpose These commands automatically control the spindle speed in line with the changes in the radius coordinate values as cutting proceeds in the diametrical direction, and they serve to keep the cutting point speed constant during the cutting.
  • Page 89: Spindle Clamp Speed Setting; G92

    10. Spindle Functions 10.6 Spindle clamp speed setting 10.6 Spindle clamp speed setting; G92 Function and purpose The maximum clamp speed of the spindle can be assigned by address S following G92 and the minimum clamp speed by address Q. Command format G92 Ss Qq;...
  • Page 90: Spindle Synchronization Control I; G114.1

    10. Spindle Functions 10.7 Spindle synchronous control I 10.7 Spindle synchronous control I; G114.1 Function and purpose In a machine having two or more spindles, this function controls the rotation speed and phase of one spindle (basic spindle) in synchronization with the rotation of the other spindle (synchronous spindle).
  • Page 91 10. Spindle Functions 10.7 Spindle synchronous control I Add- Command range ress Meaning of address Remarks (unit) • A program error (P35) will occur if a Synchronous 1 to 7 or –1 to –7 spindle selection value exceeding the command range 1: 1st spindle or spindle No.
  • Page 92 10. Spindle Functions 10.7 Spindle synchronous control I Rotation and rotation direction (1) The rotation speed and rotation direction of the basic spindle and synchronous spindle during spindle synchronous control are the rotation speed and rotation direction commanded for the basic spindle.
  • Page 93 10. Spindle Functions 10.7 Spindle synchronous control I Rotation synchronization (1) When rotation synchronization control (command with no R address) is commanded with the G114.1 command, the synchronous spindle rotating at a random rotation speed will accelerate or decelerate to the rotation speed commanded beforehand for the basic spindle, and will enter the rotation synchronization state.
  • Page 94 10. Spindle Functions 10.7 Spindle synchronous control I Phase synchronization (1) When phase synchronization (command with R address) is commanded with the G114.1 command, the synchronous spindle rotating at a random rotation speed will accelerate or decelerate to the rotation speed commanded beforehand for the basic spindle, and will enter the rotation synchronization state.
  • Page 95 10. Spindle Functions 10.7 Spindle synchronous control I Cautions on programming (1) To enter the rotation synchronization mode while the basic spindle and synchronous spindle are chucking the same workpiece, turn the basic spindle and synchronous spindle rotation commands ON before turning the spindle synchronous control mode ON. $1 (1st part system) $2 (2nd part system) M6 ;...
  • Page 96 10. Spindle Functions 10.7 Spindle synchronous control I CAUTION Do not make the synchronous spindle rotation command OFF with one workpiece chucked by the basic spindle and synchronous spindle during the spindle synchronous control mode. Failure to observe this may cause the synchronous spindle stop, and hazardous situation.
  • Page 97 10. Spindle Functions 10.7 Spindle synchronous control I (14) The phase offset request signal will be ignored when the phase shift calculation request signal is ON. (15) The phase error of the basic spindle and synchronous spindle saved in the NC is valid only when the phase shift calculation signal is ON and for the combination of the basic spindle selection (H_) and synchronous spindle (D_) commanded with the rotation synchronization command (no R address).
  • Page 98: Spindle Synchronization Control Ii

    10. Spindle Functions 10.8 Spindle synchronization control II 10.8 Spindle synchronization control II Function and purpose In a machine having two or more spindles, this function controls the rotation speed and phase of one spindle (synchronous spindle) in synchronization with the rotation of the other spindle (basic spindle).
  • Page 99 10. Spindle Functions 10.8 Spindle synchronization control II Starting spindle synchronization The spindle synchronous control mode is entered by inputting the spindle synchronous control signal (SPSYC). The synchronous spindle will be controlled in synchronization with the rotation speed commanded for the basic spindle during the spindle synchronous control mode. When the difference of the basic spindle and synchronous spindle rotation speeds reaches the spindle synchronization rotation speed reach level setting value (#3050 sprlv), the spindle rotation speed synchronization complete signal (FSPRV) will be output.
  • Page 100 10. Spindle Functions 10.8 Spindle synchronization control II Spindle phase alignment Spindle phase synchronization starts when the spindle phase synchronous control signal (SPPHS) is input during the spindle synchronization control mode. The spindle phase synchronization complete signal is output when the spindle synchronization phase reach level setting value (#3051 spplv) is reached.
  • Page 101 10. Spindle Functions 10.8 Spindle synchronization control II Calculating the spindle synchronization phase shift amount and requesting phase offset The spindle phase shift amount calculation function obtains and saves the phase difference of the basic spindle and synchronous spindle by turning the PLC signal ON during spindle synchronization.
  • Page 102 10. Spindle Functions 10.8 Spindle synchronization control II Chuck close signal The synchronous spindle side carries out droop compensation while the chuck is opened, and aligns itself with the basic spindle. However, when the chuck is closed, the droop compensation is added, and the synchronization error with the base increases.
  • Page 103 10. Spindle Functions 10.8 Spindle synchronization control II Phase error monitor The phase error can be monitored during spindle phase synchronization. Device No. Signal name Abbrev. Explanation Phase error – The phase error during spindle phase monitor synchronous control is output as a pulse unit. Phase error –...
  • Page 104 10. Spindle Functions 10.8 Spindle synchronization control II Precautions and restrictions (1) When carrying out spindle synchronization, a rotation command must be issued to both the basic spindle and synchronous spindle. The synchronous spindle's rotation direction will follow the basic spindle rotation direction and spindle synchronization rotation direction designation regardless of whether a forward or reverse run command is issued.
  • Page 105: Tool Functions

    11. Tool Functions 11.1 Tool functions (T8-digit BCD) 11. Tool Functions 11.1 Tool functions (T8-digit BCD) Function and purpose The tool functions are also known simply as T functions and they assign the tool numbers and tool offset number. They are designated with a 8-digit number following the address T, and one set can be commanded in commanded one block.
  • Page 106: Tool Offset Functions

    12. Tool Offset Functions 12.1 Tool offset 12. Tool Offset Functions 12.1 Tool offset Function and purpose The basic tool offset function includes the tool length offset and tool diameter compensation. Each offset amount is designated with the tool offset No. Each offset amount is input from the setting and display unit or the program.
  • Page 107 12. Tool Offset Functions 12.1 Tool offset Tool offset memory There are two types of tool offset memories for setting and selecting the tool offset amount. (The type used is determined by the machine maker specifications.) The offset amount or offset amount settings are preset with the setting and display unit. Type 1 is selected when parameter "#1037 cmdtyp"...
  • Page 108 12. Tool Offset Functions 12.1 Tool offset Type 1 One offset amount corresponds to one offset No. as shown on the right. Thus, these can be used commonly regardless of the tool length offset amount, tool diameter offset amount, shape offset amount and wear offset amount. (D1) = a , (H1) = a (D2) = a...
  • Page 109 12. Tool Offset Functions 12.1 Tool offset Tool offset No. (H/D) This address designates the tool offset No. (1) H is used for the tool length offset, and D is used for the tool position offset and tool diameter offset. (2) The tool offset No.
  • Page 110: Tool Length Offset/Cancel; G43, G44/G49

    12. Tool Offset Functions 12.2 Tool length offset/cancel 12.2 Tool length offset/cancel; G43, G44/G49 Function and purpose The end position of the movement command can be offset by the preset amount when this command is used. A continuity can be applied to the program by setting the actual deviation from the tool length value decided during programming as the offset amount using this function.
  • Page 111 12. Tool Offset Functions 12.2 Tool length offset/cancel (2) Offset No. (a) The offset amount differs according to the compensation type. Type 1 G43 Hh When the above is commanded, the offset amount lh commanded with offset No. h will be applied commonly regardless of the tool length offset amount, tool diameter offset amount, shape offset amount or wear offset...
  • Page 112 12. Tool Offset Functions 12.2 Tool length offset/cancel (3) Axis valid for tool length offset (a) When parameter "#1080 Dril_Z" is set to "1", the tool length offset is always applied on the Z axis. (b) When parameter "#1080 Dril_Z" is set to "0", the axis will depend on the axis address commanded in the same block as G43.
  • Page 113: Tool Radius Compensation

    12. Tool Offset Functions 12.3 Tool radius compensation 12.3 Tool radius compensation Function and purpose This function compensates the radius of the tool. The compensation can be done in the random vector direction by the radius amount of the tool selected with the G command (G38 to G42) and the D command.
  • Page 114: Tool Radius Compensation Operation

    12. Tool Offset Functions 12.3 Tool radius compensation 12.3.1 Tool radius compensation operation Tool radius compensation cancel mode The tool radius compensation cancel mode is established by any of the following conditions. (1) After the power has been switched on (2) After the reset button on the setting and display unit has been pressed (3) After the M02 or M30 command with reset function has been executed (4) After the tool radius compensation cancel command (G40) has been executed...
  • Page 115 12. Tool Offset Functions 12.3 Tool radius compensation Start of movement for tool radius compensation (1) For inner side of corner Linear Linear Linear Circular θ θ Program path Program r = Compensation amount path Tool center path Tool center path Start point Start point...
  • Page 116 12. Tool Offset Functions 12.3 Tool radius compensation (3) For outer side of corner (obtuse angle) [0<90°] Linear Linear(Type A) Linear Circular(Type A) Center of circular Tool center path Program path Tool center path θ θ Program path Start point Start point Linear Circular(Type B)
  • Page 117 12. Tool Offset Functions 12.3 Tool radius compensation Operation in compensation mode Relative to the program path (G00, G01, G02, G03), the tool center path is found from the straight line/circular arc to make compensation. Even if the same compensation command (G41, G42) is issued in the compensation mode, the command will be ignored.
  • Page 118 12. Tool Offset Functions 12.3 Tool radius compensation Circular Linear (90°≤θ<180°) Circular Linear (0°<θ<90°) Center of circular Program path Program path θ θ Tool center path Tool center path Center of circular Point of intersection Circular Circular (90°≤θ<180°) Circular Circular (0°<θ<90°) Center of circular Program path θ...
  • Page 119 12. Tool Offset Functions 12.3 Tool radius compensation (2) Machining an inner wall Linear Linear (Acute angle) Linear Linear (Obtuse angle) θ θ Program path Program path Tool center path Tool center path Point of intersection Linear Circular (Acute angle) Linear Circular (Obtuse angle) θ...
  • Page 120 12. Tool Offset Functions 12.3 Tool radius compensation Circular Linear (Obtuse angle) Circular Linear (Acute angle) θ Tool center Center of circular Point of intersection path θ Center of Program path Tool center Center of Center of Point of path circular circular intersection...
  • Page 121 12. Tool Offset Functions 12.3 Tool radius compensation Tool radius compensation cancel If either of the following conditions is met in the tool radius compensation mode, the compensation will be canceled. However, the movement command must be a command which is not a circular command.
  • Page 122 12. Tool Offset Functions 12.3 Tool radius compensation (2) For outer side of corner (obtuse angle) Linear Linear (Type A) Circular Linear (Type A) Tool center path r = Compensation amount Tool center path Program path θ θ End point End point Program Center of...
  • Page 123 12. Tool Offset Functions 12.3 Tool radius compensation (3) For outer side of corner (acute angle) Circular Linear (Type A) Linear Linear (Type A) Center of circular Tool center path Tool center path Program path θ Program path θ End point End point Circular Linear (Type B)
  • Page 124: Other Operations During Tool Radius Compensation

    12. Tool Offset Functions 12.3 Tool radius compensation 12.3.2 Other operations during tool radius compensation Insertion of corner arc An arc that uses the compensation amount as the radius is inserted without calculating the point of intersection at the workpiece corner when G39 (corner arc) is commanded. Point of Inserted intersection...
  • Page 125 12. Tool Offset Functions 12.3 Tool radius compensation ×r Tool center path Program path N11G1Xx ;N12G38Yy ;N13G38Xx ;N14G38Xx ;N15G38Xx IiJjDd ;N16G40Xx Vector hold Vector change Changing the compensation direction during tool diameter compensation The compensation direction is determined by the tool diameter compensation commands (G41, G42) and compensation amount sign.
  • Page 126 12. Tool Offset Functions 12.3 Tool radius compensation Linear ↔ Circular Program path Tool center path Linear return Tool center path Program path In the case below, it is possible that the arc Arc exceeding 360° due to compensation may exceed 360° a.
  • Page 127 12. Tool Offset Functions 12.3 Tool radius compensation Command for eliminating offset vectors temporarily When the following command is issued in the compensation mode, the offset vectors are temporarily eliminated and a return is then made automatically to the compensation mode. In this case, the compensation is not canceled, and the tool goes directly from the intersection point vector to the point without vectors or, in other words, to the programmed command point.
  • Page 128 12. Tool Offset Functions 12.3 Tool radius compensation Blocks without movement and pre-read inhibit M command The following blocks are known as blocks without movement. a. M03 ; ........M command b. S12 ; ........S command c. T45 ; ........T command d.
  • Page 129 12. Tool Offset Functions 12.3 Tool radius compensation (2) When command is assigned in the compensation mode When the blocks without movement follows up to 3 blocks in succession in the compensation mode and there is no pre-reading prohibit M code is issued, the intersection point vectors will be created as usual.
  • Page 130 12. Tool Offset Functions 12.3 Tool radius compensation When I, J, K are commanded in G40 (1) If the final movement command block in the four blocks before the G40 block is the G41 or G42 mode, it will be assumed that the movement is commanded in the vector I, J or K direction from the end point of the final movement command.
  • Page 131 12. Tool Offset Functions 12.3 Tool radius compensation If the compensation vector obtained with point of intersection calculation is extremely large, a perpendicular vector will be created in the block before G40. (a,b) Tool center path Program path (i,j) Hypothetical tool center path (2) If the arc is 360°...
  • Page 132: G41/G42 Commands And I, J, K Designation

    12. Tool Offset Functions 12.3 Tool radius compensation 12.3.3 G41/G42 commands and I, J, K designation Function and purpose The compensation direction can be intentionally changed by issuing the G41/G42 command and I, J, K in the same block. Command format G17 (XY plane) G41/G42 X__ Y__ I__ J__ ;...
  • Page 133 12. Tool Offset Functions 12.3 Tool radius compensation (3) When I, J has been commanded in the G41/G42 mode (G17 plane) (I,J)N110 (G17 G41 G91) N100 N100 G41 G00X150. J50. ; N120 N110 G02 I150. ; N120 G00 X−150. ; (N120) (1) I, J type vector (2) Intersection point calculation...
  • Page 134 12. Tool Offset Functions 12.3 Tool radius compensation (4) When I, J has been commanded in a block without movement N1 G41 D1 G01 F1000 ; (I,J) N2 G91 X100. Y100. ; N3 G41 I50. ; N4 X150. ; N5 G40 ; Direction of offset vectors (1) In G41 mode Direction produced by rotating the direction commanded by I, J through 90°...
  • Page 135 12. Tool Offset Functions 12.3 Tool radius compensation Selection of offset modal The G41 or G42 modal can be selected at any time. N1 G28 X0 Y0 ; N2 G41 D1 F1000 ; N3 G01 G91 X100. Y100. ; N4 G42 X100. I100. J-100. D2 ; (I,J) N5 X100.
  • Page 136 12. Tool Offset Functions 12.3 Tool radius compensation Precautions (1) Issue the I, J type vector in a linear mode (G0, G1). If it is issued in an arc mode at the start of compensation, program error (P151) will result. An IJ designation in an arc mode functions as an arc center designation in the offset mode.
  • Page 137 12. Tool Offset Functions 12.3 Tool radius compensation (4) Refer to the following table for the offset methods based on the presence and/or absence of the G41 and G42 commands and I, J, (K) command. G41/G42 I, J (K) Offset method Intersection point calculation type vector Intersection point calculation type vector Intersection point calculation type vector...
  • Page 138: Interrupts During Tool Radius Compensation

    12. Tool Offset Functions 12.3 Tool radius compensation 12.3.4 Interrupts during tool radius compensation MDI interrupt Tool radius compensation is valid in any automatic operation mode-whether memory or MDI operation. An interrupt based on MDI will give the result as in the figure below after block stop during memory operation.
  • Page 139 12. Tool Offset Functions 12.3 Tool radius compensation Manual interrupt (1) Interrupt with manual absolute OFF. Tool path after interrupt The tool path is shifted by an amount equivalent to the interrupt amount. Tool path after Interrupt compensation Program path (2) Interrupt with manual absolute ON.
  • Page 140: General Precautions For Tool Radius Compensation

    12. Tool Offset Functions 12.3 Tool radius compensation 12.3.5 General precautions for tool radius compensation Precautions (1) Designating the offset amounts The offset amounts can be designated with the D code by designating an offset amount No. Once designated, the D code is valid until another D code is commanded. If an H code is designated, the program error (P170) No COMP No will occur.
  • Page 141: Changing Of Offset No. During Compensation Mode

    12. Tool Offset Functions 12.3 Tool radius compensation 12.3.6 Changing of offset No. during compensation mode Function and purpose As a principle, the offset No. must not be changed during the compensation mode. If changed, the movement will be as shown below. When offset No.
  • Page 142 12. Tool Offset Functions 12.3 Tool radius compensation (2) Linear circular Tool center path N102 Program path N101 Tool center path Center of circular Program path N101 N102 Center of circular (3) Circular circular Tool center path Program path N101 N102 Center of circular Center of circular...
  • Page 143: Start Of Tool Radius Compensation And Z Axis Cut In Operation

    12. Tool Offset Functions 12.3 Tool radius compensation 12.3.7 Start of tool radius compensation and Z axis cut in operation Function and purpose Often when starting cutting, a method of applying a radius compensation (normally the XY plane) beforehand at a position separated for the workpiece, and then cutting in with the Z axis is often used.
  • Page 144 12. Tool Offset Functions 12.3 Tool radius compensation In this case, consider the calculation of the inner side, and before the Z axis cutting, issue a command in the same direction as the direction that the Z axis advances in after lowering, to prevent excessive cutting.
  • Page 145: Interference Check

    12. Tool Offset Functions 12.3 Tool radius compensation 12.3.8 Interference check Function and purpose (1) Outline A tool, whose radius has been compensated with the tool radius compensation function by the usual 2-block pre-read, may sometimes cut into the workpiece. This is known as interference, and interference check is the function which prevents this from occurring.
  • Page 146 12. Tool Offset Functions 12.3 Tool radius compensation (3) With interference check invalid function The tool passes while cutting the N1 and N3 line. (4)' (3)' (2)' (1)' Example of interference check → No interference Vectors (1) (4)' check ↓ →...
  • Page 147 12. Tool Offset Functions 12.3 Tool radius compensation Conditions viewed as interference If there is a movement command in three of the five pre-read blocks, and if the compensation calculation vectors created at the contacts of each movement command intersect, it will be viewed as an interference.
  • Page 148 12. Tool Offset Functions 12.3 Tool radius compensation Operation during interference avoidance The movement will be as shown below when the interference avoidance check is used. Tool center path Program path Tool center path w hen interference is Solid line vector : Valid Dotted line vector : Invalid Tool center path w ithout interference Program path...
  • Page 149 12. Tool Offset Functions 12.3 Tool radius compensation Avoidance vector Tool center path Avoidance vector Program path If all of the line vectors for the interference avoidance are deleted, create a new avoidance vector as shown on the right to avoid the interference.
  • Page 150 12. Tool Offset Functions 12.3 Tool radius compensation Interference check alarm The interference check alarm occurs under the following conditions. (1) When the interference check alarm function has been selected (a) When all the vectors at the end block of its own block have been deleted. When, as shown in the figure, vectors 1 through 4 at the end point of the N1 block have all...
  • Page 151 12. Tool Offset Functions 12.3 Tool radius compensation (b) When avoidance vectors cannot be created Even when, as in the figure, the conditions for Alarm stop creating the avoidance vectors are met, it may still be impossible to create these vectors or the interference vectors may interfere with N3.
  • Page 152: Programmed Offset Input; G10, G11

    12. Tool Offset Functions 12.4 Programmed offset input 12.4 Programmed offset input; G10, G11 Function and purpose The tool offset and workpiece offset can be set or changed on the tape using the G10 command. During the absolute value (G90) mode, the commanded offset amount will become the new offset amount, and during the incremental value (G91) mode, the commanded offset amount will be added to the currently set offset amount to create the new offset amount.
  • Page 153 12. Tool Offset Functions 12.4 Programmed offset input Detailed description (1) Program error (P171) will occur if this command is input when the specifications are not available. (2) G10 is an unmodal command and is valid only in the commanded block. (3) The G10 command does not contain movement, but must not be used with G commands other than G21, G22, G54 to G59, G90 or G91.
  • Page 154 12. Tool Offset Functions 12.4 Programmed offset input (Example 2) Assume that H10 = –1000 is already set. Main program G00 X100000 ; #1 = –1000 ; M98 P1111 L4 ; Subprogram O1111 G01 G91 G43 Z0 H10 F100 ; G01 X1000 ;...
  • Page 155 12. Tool Offset Functions 12.4 Programmed offset input (3) When updating the workpiece coordinate system offset amount Assume that the previous workpiece coordinate system offset amount is as follows. X = −10.000 Y = −10.000 N100 G00 G90 G54 X0 Y0 ; N101 G90 G10 L2 P1 X−15.000 Y−15.000 ;...
  • Page 156 12. Tool Offset Functions 12.4 Programmed offset input (4) When using one workpiece coordinate system as multiple workpiece coordinate systems #1 = −50. #2 = 10. ; P200 L5 ; Main program M02 ; G90 G54 G10 L2 P1 X#1 Y#1 ; G00 X0 Y0 ;...
  • Page 157: Program Support Functions

    13. Program Support Functions 13.1 Canned cycles 13. Program Support Functions 13.1 Canned cycles 13.1.1 Standard canned cycles; G80 to G89, G73, G74, G76 Function and purpose These standard canned cycles are used for predetermined sequences of machining operations such as positioning, hole drilling, boring, tapping, etc. which are specified in a block. The various sequences in the table below are provided for the standard canned cycles.
  • Page 158 13. Program Support Functions 13.1 Canned cycles Command format G8∆ (G7∆) X__ Y__ Z__ R__ Q__ P__ F__ L__ S__ , S __ ,R __ ,I__ ,J__; G8∆ (G7∆) : Hole machining mode X__ Y__ Z__ : Hole positioning data R__ Q__ P__ F__ : Hole machining data : Number of repetitions...
  • Page 159 13. Program Support Functions 13.1 Canned cycles (3) There are 7 actual operations which are each described in turn below. Operation 2 Operation 1 Initial point Operation 3 Operation 7 R point Operation 4 Operation 6 Operation 5 Operation 1 : This indicates the X and Y axes positioning, and executes positioning with G00. Operation 2 : This is an operation done after positioning is completed (at the initial hole), and when G87 is commanded, the M10 command is output from the control unit to the machine.
  • Page 160 13. Program Support Functions 13.1 Canned cycles (5) Difference between absolute value command and incremental value command For absolute value For incremental value R point R point Workpiece Workpiece (6) Feed rate for tapping cycle and tapping retract The feed rates for the tapping cycle and tapping retract are as shown below. (a) Selection of synchronous tapping cycle/asynchronous tapping cycle Control parameter Synchronous/...
  • Page 161 13. Program Support Functions 13.1 Canned cycles Positioning plane and hole drilling axis The canned cycle has basic control elements for the positioning plane and hole drilling axis. The positioning plane is determined by the G17, G18 and G19 plane selection command, and the hole drilling axis is the axis perpendicular (X, Y, Z or parallel axis) to the above plane.
  • Page 162 13. Program Support Functions 13.1 Canned cycles (a) G81 (Drilling, spot drilling) Program G81 Xx1 Yy1 Zz1 Rr1 Ff1 ,Ii1 ,Jj1; (1) G0 Xx (2) G0 Zr (3) G1 Zz (4) G98 mode G0Z − (z G99 mode G0Z − z G98 G99 mode mode The operation stops at after the (1), (2) and (4) commands during single block operation.
  • Page 163 13. Program Support Functions 13.1 Canned cycles (c) G83 (Deep hole drilling cycle) Program G83 Xx Q : This designates the cutting amount per pass, and is always designated with an incremental value. (3) (4) (10) (1) G0 Xx (2) G0 Zr (3) G1 Zq (4) G0 Z −...
  • Page 164 13. Program Support Functions 13.1 Canned cycles (d) G84 (Tapping cycle) Program G84 Xx P : Dwell designation (1) G0 Xx (2) G0 Zr (3) G1 Zz (4) G4 Pp (5) M4 (Spindle reverse rotation) (7) (8) (6) G1 Z − z (7) G4 Pp (8) M3 (Spindle forward rotation) G98 mode G0Z −...
  • Page 165 13. Program Support Functions 13.1 Canned cycles This function allows spindle acceleration/deceleration pattern to be approached to the speed loop acceleration/deceleration pattern by dividing the spindle and drilling axis acceleration/deceleration pattern into up to three stages during synchronous tapping. The acceleration/deceleration pattern can be set up to three stages for each gear. When returning from the hole bottom, rapid return is possible depending on the spindle rotation speed during return.
  • Page 166 13. Program Support Functions 13.1 Canned cycles (ii) When synchronous tap changeover spindle rotation speed 2 < spindle rotation speed during return Smax S(S1) S'(Smax) : Command spindle rotation speed : Spindle rotation speed during return : Tap rotation speed (spindle base specification parameters #3013 to #3016) : Synchronous tap changeover spindle rotation speed 2 (spindle base specification parameters #3037 to #3040) Smax : Maximum rotation speed (spindle base specification parameters #3005 to...
  • Page 167 13. Program Support Functions 13.1 Canned cycles (e) G85 (Boring) Program G85 Xx (1) G0 Xx (2) G0 Zr (3) G1 Zz (4) G1 Z − z G98 mode G0Z − r G99 mode No movement G98 G99 mode mode The operation stops at after the (1), (2), and (4) or (5) commands during single block operation.
  • Page 168 13. Program Support Functions 13.1 Canned cycles (g) G87 (Back boring) Program G87 Xx (Note) Take care to the z and r designations. (The z and r symbols are reversed). There is no R point return. G0 Xx M19 (Spindle orient) G0 Xq ) (Shift) (12)(11)
  • Page 169 13. Program Support Functions 13.1 Canned cycles (h) G88 (Boring) Program G88 Xx (1) G0 Xx (2) G0 Zr (3) G1 Zz (4) G4 Pp (5) M5 (Spindle stop) (6) Stop when single block stop switch is ON. (7) Automatic start switch ON G98 mode G0Z −...
  • Page 170 13. Program Support Functions 13.1 Canned cycles G73 (Step cycle) Program G73 Xx (1) G0 Xx (2) G0 Zr (3) G1 Zq (n) -1 (4) G4 Pp (5) G0 Z − m (6) G1 Z (q + m) Ff mode mode (n) G98 mode G0Z −...
  • Page 171 13. Program Support Functions 13.1 Canned cycles (k) G74 (Reverse tapping cycle) Program G74 Xx (1) G0 Xx (2) G0 Zr (3) G1 Zz (4) G4 Pp (7)(8) (5) M3 (Spindle forward rotation) (7) (8) (6) G1 Z – z (7) G4 Pp (8) M4 (Spindle reverse rotation) G98 mode G0Z −...
  • Page 172 13. Program Support Functions 13.1 Canned cycles G76 (Fine boring) Program G76 Xx (1) G0 Xx (2) G0 Zr (3) G1 Zz (4) M19 (Spindle orient) (5) G1 Xq ) Ff (Shift) G98 mode G0Z − (z G99 mode G0Z − z (7) G0 X −...
  • Page 173 13. Program Support Functions 13.1 Canned cycles Precautions for using canned cycle (1) Before the canned cycle is commanded, the spindle must be rotating in a specific direction with an M command (M3 ; or M4 ;). Note that for the G87 (back boring) command, the spindle rotation command is included in the canned cycle so only the rotation speed command needs to be commanded beforehand.
  • Page 174: Initial Point And R Point Level Return; G98, G99

    13. Program Support Functions 13.1 Canned cycles 13.1.2 Initial point and R point level return; G98, G99 Function and purpose Whether to use R point or initial level for the return level in the final sequence of the canned cycle can be selected.
  • Page 175: Setting Of Workpiece Coordinates In Canned Cycle Mode

    13. Program Support Functions 13.1 Canned cycles The ideology of the data differs between the absolute value mode (G90) and incremental value mode (G91) as shown below. Z axis absolute R point value R point zero point Absolute value mode (G90) Incremental value mode (G91) Designate a command value with a symbol for X, Y and Z.
  • Page 176: Special Canned Cycle; G34, G35, G36, G37.1

    13. Program Support Functions 13.2 Special canned cycle 13.2 Special canned cycle; G34, G35, G36, G37.1 Function and purpose The special canned cycle is used with the standard canned cycle. Before using the special canned cycle, program the canned cycle sequence selection G code and hole machining data to record the hole machining data.
  • Page 177 13. Program Support Functions 13.2 Special canned cycle Line at angle (G35) G35 X x1 Y y1 I d J θ K n ; X, Y :Designation of start point coordinates. This will be affected by G90/G91. :Interval d. The unit follows the input setting unit. If d is negative, the drilling will take place in the direction symmetrical to the point that is the center of the start point.
  • Page 178 13. Program Support Functions 13.2 Special canned cycle Arc (G36) G36 X x1 Y y1 I r J θ P ∆θ K n ; X, Y :Center coordinates of arc. This will be affected by G90/G91. :Radius r of arc. The unit follows the input setting unit, and is given with a positive :Angle θ...
  • Page 179 13. Program Support Functions 13.2 Special canned cycle Grid (G37.1) G37.1 X x1 Y y1 I Dx P nx J Dy K ny ; X, Y :Designation of start point coordinates. This will be affected by G90/G91. :Interval Dx of the X axis. The unit will follow the input setting unit. If Dx is positive, the interval will be in the forward direction looking from the start point, and when negative, will be in the reverse direction looking from the start point.
  • Page 180: Subprogram Control; M98, M99

    13. Program Support Functions 13.3 Subprogram control 13.3 Subprogram control; M98, M99 13.3.1 Calling subprogram with M98 and M99 commands Function and purpose Fixed sequences or repeatedly used patterns can be stored in the memory as subprograms which can then be called from the main program when required. M98 serves to call subprograms and M99 serves to return operation from the subprogram to the main program.
  • Page 181 13. Program Support Functions 13.3 Subprogram control Command format Subprogram call M98 P :Program number of subprogram to be called (own program if omitted) P can only be omitted during memory operation and MDI operation. (Numerical value with up to 8 digits) :Sequence number in subprogram to be called (head block if omitted) (Numerical value with up to 5 digits) :Number of subprogram repetitions (When omitted, this is interpreted at...
  • Page 182 13. Program Support Functions 13.3 Subprogram control (2) Only those subprogram numbers ranging from 1 through 99999999 designated by the optional specifications can be used. (3) No distinction between main programs and subprograms is made since they are entered in the sequence in which they were read.
  • Page 183 13. Program Support Functions 13.3 Subprogram control Example of program When there are 3 subprogram calls (known as 3 nesting levels) Main program Sub program 1 Sub program 2 Sub program 3 O10; O20; M98P1; M98P10; M98P20; (3)' (1)' (2)' M02;...
  • Page 184 13. Program Support Functions 13.3 Subprogram control Precautions (1) Program error (P232) results when the designated program number (P) is not located. (2) Single block stop does not occur with the M98P__; M99; block. If any address except O, N, P, L or H is used, single block stop can be executed.
  • Page 185: Variable Commands

    13. Program Support Functions 13.4 Variable commands 13.4 Variable commands Function and purpose Programming can be endowed with flexibility and general-purpose capabilities by designating variables, instead of giving direct numerical values to particular addresses in a program, and by assigning the values of those variables as required when executing a program. Command format # ∆∆∆...
  • Page 186 13. Program Support Functions 13.4 Variable commands (2) Type of variables The following table gives the types of variables. Type of variable Number Function Common variables Common variables Common Can be used in common variables 2 throughout main, sub (Common to part (Provided per part and macro programs.
  • Page 187 13. Program Support Functions 13.4 Variable commands (3) Variable quotations Variables can be used for all addresses except O, N and / (slash). (a) When the variable value is used directly: X#1 ........Value of #1 is used as the X value. (b) When the complement of the variable value is used: X - #2 ........
  • Page 188: User Macro Specifications

    13. Program Support Functions 13.5 User macro specifications 13.5 User macro specifications 13.5.1 User macro commands ; G65, G66, G66.1, G67 Function and purpose By combining the user macros with variable commands, it is possible to use macro program call, arithmetic operation, data input/output with PLC, control, decision, branch and many other instructions for measurement and other such applications.
  • Page 189: Macro Call Instruction

    13. Program Support Functions 13.5 User macro specifications 13.5.2 Macro call instruction Function and purpose Included among the macro call commands are the simple calls which apply only to the instructed block and also modal calls (types A and B) which apply to each block in the call modal. Simple macro calls Main program Subprogram (O...
  • Page 190 13. Program Support Functions 13.5 User macro specifications (1) Argument designation I Format : A__ B__ C__ • • • • X__ Y__ Z__ Detailed description (a) Arguments can be designated using any address except G, L, N, O and P. (b) Except for I, J and K, there is no need for designation in alphabetical order.
  • Page 191 13. Program Support Functions 13.5 User macro specifications (2) Argument designation II Format : A__ B__ C__ I__ J__ K__ I__ J__ K__• • • • Detailed description (a) In addition to address A, B and C, up to 10 groups of arguments with I, J, K serving as 1 group can be designated.
  • Page 192 13. Program Support Functions 13.5 User macro specifications Modal call A (called after the movement command) Main program Subprogram To subprogram G65Pp1Ll1 <argument>; To main program To subprogram When the block with a movement command is commanded between G66 and G67, the movement command is first executed and then the designated user macro subprogram is executed.
  • Page 193 13. Program Support Functions 13.5 User macro specifications Modal call B (called after the every block) The specified user macro subprogram is called unconditionally for each command block which is assigned between G66.1 and G67 and the subprogram is executed the number of times designated with “L”...
  • Page 194 13. Program Support Functions 13.5 User macro specifications (2) The correspondence between the "XX" which conducts the macro call and the program number P∆∆∆∆ of the macro to be called is set by parameter. (3) Up to 10 G codes from G100 to G255 can be used with this instruction. (G01 to 99 can also be used with parameter "#1081 Gmac_P").
  • Page 195 13. Program Support Functions 13.5 User macro specifications (4) Even if the miscellaneous command entered above is issued during a user macro subprogram called by the M code, macro call will not result and it will be handled as an ordinary miscellaneous command.
  • Page 196: Variables

    13. Program Support Functions 13.5 User macro specifications (Example 1) Main program User macro operation Macro p G66Pp call) After Z1 execution Macro p G66Pp call) After Z2 execution cancel) G67 ; Macro p Macro p Macro p Macro p After Z3 execution cancel) 13.5.3 Variables...
  • Page 197 13. Program Support Functions 13.5 User macro specifications (Example 3) Replacing variable numbers with <formula> #10 = 5 ; #[#10 + 1] = 1000 ; In which case, #6 = 1000. #[#10 − 1] = − 1000 ; In which case, #4 = − 1000. #[#10 ∗...
  • Page 198: Types Of Variables

    13. Program Support Functions 13.5 User macro specifications 13.5.4 Types of variables Common variables Common variables can be used commonly from any position. Number of the common variables sets depends on the specifications. Refer to "13.4 Variable commands" for details. Local variables (#1 to #33) These can be defined as an <argument>...
  • Page 199 13. Program Support Functions 13.5 User macro specifications [Argument specification II] Argument specification Variable in Argument specification II Variable in II address macro address macro (Note 1) Subscripts 1 to 10 for I, J, and K indicate the order of the specified command sets. They are not required to specify instructions.
  • Page 200 13. Program Support Functions 13.5 User macro specifications (2) The local variables can be used freely in that subprogram. Main program Subprogram (1) #30=FUP [#2/#5/2] ; G65 P1 A100. B50. J10. F500; #5=#2/#30/2 ; To subprogram M98 H100 L#30 ; X#1 ;...
  • Page 201 13. Program Support Functions 13.5 User macro specifications (3) Local variables can be used independently on each of the macro call levels (4 levels). Local variables are also provided independently for the main program (macro level 0). Arguments cannot be used for the level 0 local variables. O10 (macro level 2) Main (level 0) O1 (macro level 1)
  • Page 202 13. Program Support Functions 13.5 User macro specifications Macro interface inputs (#1000 to #1035, #1200 to #1295) : PLC → NC The status of the interface input signals can be ascertained by reading out the values of variable numbers #1000 to #1035, #1200 to #1295. A variable value which has been read out can be only one of 2 values: 1 or 0 (1: contact closed, 0: contact open).
  • Page 203 13. Program Support Functions 13.5 User macro specifications System No. of System No. of Interface input Interface input signal variable points variable points signal #1200 Register R26 bit 0 #1216 Register R27 bit 0 #1201 Register R26 bit 1 #1217 Register R27 bit 1 #1202 Register R26 bit 2...
  • Page 204 13. Program Support Functions 13.5 User macro specifications System No. of System No. of Interface input Interface input signal variable points variable points signal #1264 Register R30 bit 0 #1280 Register R31 bit 0 #1265 Register R30 bit 1 #1281 Register R31 bit 1 #1266 Register R30 bit 2...
  • Page 205 13. Program Support Functions 13.5 User macro specifications (2) Macro interface by part system (input) (Note) As for the C64T system, the input/output signals used for this function are valid up to 3rd part system. System No. of Interface input signal variable points R970...
  • Page 206 13. Program Support Functions 13.5 User macro specifications Macro interface outputs (#1100 to #1135, #1300 to #1395) : NC → PLC The interface output signals can be sent by substituting values in variable numbers #1100 to #1135, #1300 to #1395. An output signal can be only 0 or 1. All the output signals from #1100 to #1131 can be sent at once by substituting a value in variable number #1132.
  • Page 207 13. Program Support Functions 13.5 User macro specifications (Note 1) The last values of the system variables #1100 to #1135 sent are retained as 1 or 0. (They are not cleared even with resetting.) (Note 2) The following applies when any number except 1 or 0 is substituted into #1100 to #1131.
  • Page 208 13. Program Support Functions 13.5 User macro specifications System No. of Interface System No. of Interface variable points output signal variable points output signal #1364 Register R130 bit 0 #1380 Register R131 bit 0 #1365 Register R130 bit 1 #1381 Register R131 bit 1 #1366 Register R130 bit 2...
  • Page 209 13. Program Support Functions 13.5 User macro specifications (2) Macro interface by part system (output) (Note) As for the C64T system, the input/output signals used for this function are valid up to 3rd part system. System No. of Interface output signal variable points R270...
  • Page 210 13. Program Support Functions 13.5 User macro specifications #1132 (R124,R125) #1032 (R24,R25) Output signal Input signal #1000 #1100 #1101 #1001 #1002 #1102 #1003 #1103 Read only Read/write #1128 #1028 #1029 #1129 #1030 #1130 #1031 #1131 32 bit 32 bit (R26,R27) (R126,R127) #1033 #1133...
  • Page 211 13. Program Support Functions 13.5 User macro specifications Tool offset Variable number range Type 1 Type 2 #10001 to #10000 + n #2001 to #2000 + n (Length dimension) #11001 to #11000 + n #2201 to #2200 + n (Length wear) #16001 to #16000 + n #2401 to #2400 + n (Radius dimension)
  • Page 212 13. Program Support Functions 13.5 User macro specifications Work coordinate system offset By using variable numbers #5201 to #532n, it is possible to read out the work coordinate system offset data or to substitute values. (Note) The number of axes which can be controlled differs according to the specifications. The last digit in the variable number corresponds to the control axis number.
  • Page 213 13. Program Support Functions 13.5 User macro specifications Alarm (#3000) The NC system can be forcibly set to the alarm state by using variable number #3000. Format #3000 = 70 (CALL#PROGRAMMER#TEL#530) : : Alarm number CALL#PROGRAMMER#TEL#530 : Alarm message Any alarm number from 1 to 9999 can be specified. The alarm message must be less than 31 characters long.
  • Page 214 13. Program Support Functions 13.5 User macro specifications Integrating (run-out) time (#3001, #3002) The integrating (run-out) time can be read during automatic operation or automatic start or values can be substituted by using variable numbers #3001 and #3002. Contents when Variable Initialization of Type...
  • Page 215 13. Program Support Functions 13.5 User macro specifications Feed hold, feedrate override, G09 valid/invalid By substituting the values below in variable number #3004, it is possible to make the feed hold, feedrate override and G09 functions either valid or invalid in the subsequent blocks. #3004 Bit 0 Bit 1...
  • Page 216 13. Program Support Functions 13.5 User macro specifications G command modals Using variable numbers #4001 to #4021, it is possible to read the G modal commands which have been issued up to the block immediately before. Similarly, it is possible to read the modals in the block being executed with variable numbers #4201 to #4221.
  • Page 217 13. Program Support Functions 13.5 User macro specifications Other modals Using variable numbers #4101 to #4120, it is possible to read the model commands assigned up to the block immediately before. Similarly, it is possible to read the modals in the block being executed with variable numbers #4301 to #4320.
  • Page 218 13. Program Support Functions 13.5 User macro specifications Basic machine coordinate system Work coordinate system Read command [End point coordinates] Work coordinate system [Work coordinates] Machine coordinate system [Machine coordinates] (1) The positions of the end point coordinates and skip coordinates are positions in the work coordinate system.
  • Page 219 13. Program Support Functions 13.5 User macro specifications (4) The tool nose position where the tool offset and other such factors are not considered is indicated as the end point position. The tool reference point position with consideration given to tool offset is indicated for the machine coordinates, work coordinates and skip coordinates. Skip signal F (feedrate) Work coordinate...
  • Page 220 13. Program Support Functions 13.5 User macro specifications (Example 1) Example of workpiece position measurement An example to measure the distance from the measured reference point to the workpiece edge is shown below. Argument O9031 <Local variable> F(#9) N1 #180=#4003; X(#24)100.000 N2 #30=#5001 #31=#5002;...
  • Page 221 13. Program Support Functions 13.5 User macro specifications Variable name setting and quotation Any name (variable name) can be given to common variables #500 to #519. It must be composed of not more than 7 alphanumerics and it must begin with a letter. Do not use "#" in variable names. It causes an alarm when the program is executed.
  • Page 222 13. Program Support Functions 13.5 User macro specifications Number of workpiece machining times The n can be read using variables #3901 and #3902. umber of workpiece machining times By substituting a value in these variables, the number of workpiece machining times can be changed.
  • Page 223 13. Program Support Functions 13.5 User macro specifications (d) Registration No. M System 1 to 200 L System 1 to 16 (e) Data type Type M System L System Remarks Number of Number of registered registered tools tools Life current value Life current value Tool selected No.
  • Page 224 13. Program Support Functions 13.5 User macro specifications Variable No. Item Type Details Data range 60500 Group No. Each group/ This group's No. 1 to 99999999 +*** registration No. 61000 Tool No. Tool No. 1 to 99999999 +*** (Designate the group No.
  • Page 225 13. Program Support Functions 13.5 User macro specifications Variable No. Item Type Details Data range 64000 Tool radius Radius compensation data set as compensation Compensation +*** compensation No., absolute value compensation amount or No.: data increment value compensation amount method. 0 to No.
  • Page 226 13. Program Support Functions 13.5 User macro specifications (6) When tool life management data is registered with G10 command after group No. is designated. #60000 = 10 ; ....Designates the group No. G10 L3 ; .......Starts the life management data registration. P10 LLn NNn ;...
  • Page 227: Arithmetic Commands

    13. Program Support Functions 13.5 User macro specifications 13.5.5 Arithmetic commands A variety of arithmetic operations can be performed between variables. Command format #i = <formula> <Formula> is a combination of constants, variables, functions and operators. Constants can be used instead of #j and #k below. Definition and #i = #j Definition, substitution...
  • Page 228 13. Program Support Functions 13.5 User macro specifications Sequence of arithmetic operations (1) The sequence of the arithmetic operations (1) through (3) is, respectively, the functions followed by the multiplication arithmetic followed in turn by the addition arithmetic. #101 = #111 + #112∗SIN[#113] (1) Function (2) Multiplication arithmetic (3) Addition arithmetic...
  • Page 229 13. Program Support Functions 13.5 User macro specifications (6) Multiplication and 10000.000 #21 = 100∗100 division (∗,/) 10000.000 #22 = 100.∗100 10000.000 #23 = 100∗100 10000.000 #24 = 100.∗100. 1.000 #25 = 100/100 1.000 #26 = 100./100. 1.000 #27 = 100/100. 1.000 #28 = 100./100.
  • Page 230 13. Program Support Functions 13.5 User macro specifications (13) Arc-cosine #521 = ACOS [100./141.421] #521 45.000 (ACOS) #522 = ACOS [100./141.421] #522 45.000 #523 = ACOS [1000./1414.213] #523 45.000 #524 = ACOS [10./14.142] #524 44.999 #525 = ACOS [0.707] #525 45.009 (14) Square root #571 = SQRT [1000]...
  • Page 231 13. Program Support Functions 13.5 User macro specifications Arithmetic accuracy As shown in the following table, errors will be generated when performing arithmetic operations once and these errors will accumulate by repeating the operations. Arithmetic format Average error Maximum error Type of error a = b + c −...
  • Page 232: Control Commands

    13. Program Support Functions 13.5 User macro specifications 13.5.6 Control commands The flow of programs can be controlled by IF-GOTO- and WHILE-DO-. Branching Format IF [conditional expression] GOTO n; (n = sequence number in the program) When the condition is satisfied, control branches to "n" and when it is not satisfied, the next block is executed.
  • Page 233 13. Program Support Functions 13.5 User macro specifications Iteration Format WHILE [conditional expression] DOm ; (m = 1, 2, 3 ..127) END m ; While the conditional expression is established, the blocks from the following block to ENDm are repeatedly executed;...
  • Page 234 13. Program Support Functions 13.5 User macro specifications (5) WHILE − DOm must be designated first and (6) WHILE − DOm and ENDm must correspond on ENDm last. a 1:1 (pairing) basis in the same program. WHILE ~ DO1 ; END 1 ;...
  • Page 235: External Output Commands

    13. Program Support Functions 13.5 User macro specifications 13.5.7 External output commands Function and purpose Besides the standard user macro commands, the following macro instructions are also available as external output commands. They are designed to output the variable values or characters via the RS-232C interface.
  • Page 236 13. Program Support Functions 13.5 User macro specifications Data output command : DPRNT DPRNT [ l1 # v1 [ d1 c1 ] l 2 # v2 [ d2 c2 ] • • • • • • • • • • • ] : Character string : Variable number : Significant digits above decimal point...
  • Page 237: Precautions

    13. Program Support Functions 13.5 User macro specifications 13.5.8 Precautions Precautions When the user macro commands are employed, it is possible to use the M, S, T and other NC control commands together with the arithmetic, decision, branching and other macro commands for preparing the machining programs.
  • Page 238 13. Program Support Functions 13.5 User macro specifications Machining program display N4, N5 and N6 are processed in parallel with the control of the executable statement of N3, N6 is an executable statement and so it is displayed as the next [In execution] N3 G00 X-100.
  • Page 239: Actual Examples Of Using User Macros

    13. Program Support Functions 13.5 User macro specifications 13.5.9 Actual examples of using user macros The following three examples will be described. (Example 1) SIN curve (Example 2) Bolt hole circle (Example 3) Grid (Example 1) SIN curve θ (SIN G65 Pp1 Aa1 Bb1 Cc1 Ff1 ;...
  • Page 240 13. Program Support Functions 13.5 User macro specifications (Example 2) Bolt hole circle After defining the hole data with canned cycle (G72 to G89), the macro command is issued as the hole position command. Main program a1 ; Start angle b1 ;...
  • Page 241 13. Program Support Functions 13.5 User macro specifications G28 X0 Y0 Z0; -500. T1 M06; G90 G43 Z100.H01; G54 G00 X0 Y0; G81 Z-100.R3.F100 L0 M03; 300R G65 P9920 X-500. Y-500. A0 B8 R100.; 200R To subprogram G65 P9920 X-500. Y-500. A0 B8 R200.; To subprogram -500.
  • Page 242 13. Program Support Functions 13.5 User macro specifications O9930 (Subprogram) O9930 #101=#24 ; →#101 Start point X coordinates #101 = X axis start point #102=#25 ; →#102 #102 = Y direction interval Start point Y coordinates →#103 X axis interval #103 = X direction interval →#104 Y axis interval...
  • Page 243: G Command Mirror Image; G50.1, G51.1

    13. Program Support Functions 13.6 G command mirror image 13.6 G command mirror image; G50.1, G51.1 Function and purpose When cutting a shape that is symmetrical on the left and right, programming time can be shortened by machining the one side and then using the same program to machine the other side. The mirror image function is effective for this.
  • Page 244 13. Program Support Functions 13.6 G command mirror image (5) Reference point return during mirror image If the reference point return command (G28, G30) is executed during the mirror image, the mirror image will be valid during the movement to the intermediate point, but will not be applied on the movement to the reference point after the intermediate point.
  • Page 245 13. Program Support Functions 13.6 G command mirror image Precautions C CAUTION Turn the mirror image ON and OFF at the mirror image center. If mirror image is canceled at a point other than the mirror center, the absolute value and machine position will deviate as shown below.
  • Page 246: Corner Chamfering, Corner Rounding

    13. Program Support Functions 13.7 Corner chamfering, corner rounding 13.7 Corner chamfering, corner rounding Chamfering at any angle or corner rounding is performed automatically by adding ",C_" or ",R_" to the end of the block to be commanded first among those command blocks which shape the corner with lines only.
  • Page 247 13. Program Support Functions 13.7 Corner chamfering, corner rounding Detailed description (1) The start point of the block following the corner chamfering serves as the imaginary corner intersection point. (2) When the comma in ",C" is not present, it is handled as a C command. (3) When both the corner chamfer and corner rounding commands exist in the same block, the latter command is valid.
  • Page 248: Corner Rounding " ,R

    13. Program Support Functions 13.7 Corner chamfering, corner rounding 13.7.2 Corner rounding " ,R_ " Function and purpose The imaginary corner, which would exist if the corner were not to be rounded, is rounded with the arc having the radius which is commanded by ",R_" only when configured of linear lines. Command format N100 G01 X_ Y_ , R_ ;...
  • Page 249: Circle Cutting; G12, G13

    13. Program Support Functions 13.8 Circle cutting 13.8 Circle cutting; G12, G13 Function and purpose Circle cutting starts the tool from the center of the circle, and cuts the inner circumference of the circle. The tool continues cutting while drawing a circle and returns to the center position. Command format G12 (G13) Ii : Clockwise (CW)
  • Page 250 13. Program Support Functions 13.8 Circle cutting Example of program (Example 1) G12 I5000 D01 F100 ; (Input setting unit 0.01) When offset amount is +10.00mm Tool Offset 10.000m 50.000m Radius Cautions (1) If the offset No. "D" is not issued or if the offset No. is illegal, the program error (P170) will occur.
  • Page 251: Program Parameter Input; G10, G11

    13. Program Support Functions 13.9 Program parameter input 13.9 Program parameter input; G10, G11 Function and purpose The parameters set from the setting and display unit can be changed in the machining programs. The data format used for the data setting is as follows. Command format G10 L50 ;...
  • Page 252: Macro Interrupt ; M96, M97

    13. Program Support Functions 13.10 Macro interrupt 13.10 Macro interrupt ; M96, M97 Function and purpose A user macro interrupt signal (UIT) is input from the machine to interrupt the program being currently executed and instead call another program and execute it. This is called the user macro interrupt function.
  • Page 253 13. Program Support Functions 13.10 Macro interrupt Outline of operation (1) When a user macro interrupt signal (UIT) is input after an M96Pp1 ; command is issued by the current program, interrupt program Op1 is executed. When an M99; command is issued by the interrupt program, control returns to the main program.
  • Page 254 13. Program Support Functions 13.10 Macro interrupt Interrupt type Interrupt types 1 and 2 can be selected by the parameter "#1113 INT_2". [Type 1] • When an interrupt signal (UIT) is input, the system immediately stops moving the tool and interrupts dwell, then permits the interrupt program to run.
  • Page 255 13. Program Support Functions 13.10 Macro interrupt [Type 1] Main program block(2) block(3) block(1) If the interrupt program contains a move or miscellaneous function command, the reset block (2) is lost. block(3) block(1) block(2) Interrupt program If the interrupted program contains no move User macro interrupt and miscellaneous commands, it resumes operation from where it left in block (2), that is,...
  • Page 256 13. Program Support Functions 13.10 Macro interrupt Calling method User macro interrupt is classified into the following two types depending on the way an interrupt program is called. These two types of interrupt are selected by parameter "#1229 set01/bit0". Both types of interrupt are included in calculation of the nest level. The subprograms and user macros called in the interrupt program are also included in calculation of the nest level.
  • Page 257 13. Program Support Functions 13.10 Macro interrupt Returning from user macro interrupt M99 (P__) ; An M99 command is issued in the interrupt program to return to the main program. Address P is used to specify the sequence number of the return destination in the main program. The blocks from the one next to the interrupted block to the last one in the main program are first searched for the block with sequence number Np2;.
  • Page 258 13. Program Support Functions 13.10 Macro interrupt Modal information affected by user macro interrupt If modal information is changed by the interrupt program, it is handled as follows after control returns from the interrupt program to the main program. Returning with M99; The change of modal information by the interrupt program is invalidated and the original modal information is not restored.
  • Page 259 13. Program Support Functions 13.10 Macro interrupt Modal information variables (#4401 to #4520) Modal information when control passes to the user macro interrupt program can be known by reading system variables #4401 to #4520. The unit specified with a command applies. System variable Modal information #4401 to #4421...
  • Page 260 13. Program Support Functions 13.10 Macro interrupt Parameters Refer to the Instruction Manual for details on the setting methods. (1) Subprogram call validity "#1229 set 01/bit 0" 1 : Subprogram type user macro interrupt 0 : Macro type user macro interrupt (2) Status trigger mode validity "#1112 S_TRG"...
  • Page 261: Tool Change Position Return ; G30.1 To G30.6

    13. Program Support Functions 13.11 Tool change position return 13.11 Tool change position return ; G30.1 to G30.6 Function and purpose By specifying the tool change position in a parameter "#8206 TOOL CHG. P" and also specifying a tool change position return command in a machining program, the tool can be changed at the most appropriate position.
  • Page 262 13. Program Support Functions 13.11 Tool change position return Example of operates (1) The figure below shows an example of how the tool operates during the tool change position return command. (Only operations of X and Y axes in G30.1 to G30.3 are figured.) G30.3 Tool changing position G30.1...
  • Page 263 13. Program Support Functions 13.11 Tool change position return (2) After all necessary tool change position return is completed by a G30.n command, tool change position return complete signal TCP (X64B) is turned on. When an axis out of those having returned to the tool change position by a G30.n command leaves the tool change position, the TCP signal is turned off.
  • Page 264: High-Accuracy Control; G61.1

    13. Program Support Functions 13.12 High-accuracy control 13.12 High-accuracy control; G61.1 Function and purpose Until now, trouble such as the following occurred when using control: (1) Corner rounding occurred at the corners that linear and linear are connected because the following command movement started before the previous command finished.
  • Page 265 13. Program Support Functions 13.12 High-accuracy control Command format G61.1 Ff1 ; G61.1 : High-accuracy control mode : Feedrate The high-accuracy control mode is validated from the block containing the G61.1 command. G61.1 The high-accuracy control mode is canceled with one of the following G commands. •...
  • Page 266 13. Program Support Functions 13.12 High-accuracy control Pre-interpolation acceleration/deceleration Acceleration/deceleration control is carried out for the movement commands to suppress the impact when the machine starts or stops moving. However, with conventional post-interpolation acceleration/deceleration, the corners at the block seams are rounded, and path errors occur regarding the commanded shape.
  • Page 267 13. Program Support Functions 13.12 High-accuracy control (2) Path control in circular interpolation commands When commanding circular interpolation with the conventional post-interpolation acceleration/ deceleration control method, the path itself that is output from the CNC to the servo runs further inside the commanded path, and the circle radius becomes smaller than that of the commanded circle.
  • Page 268 13. Program Support Functions 13.12 High-accuracy control Optimum speed control (1) Optimum corner deceleration By calculating the angle of the seam between blocks, and carrying out acceleration/ deceleration control in which the corner is passed at the optimum speed, highly accurate edge machining can be realized.
  • Page 269 13. Program Support Functions 13.12 High-accuracy control (2) Arc speed clamp During circular interpolation, even when moving at a constant speed, acceleration is generated as the advance direction constantly changes. When the arc radius is large compared to the commanded speed, control is carried out at the commanded speed. However, when the arc radius is relatively small, the speed is clamped so that the generated acceleration does not exceed the tolerable acceleration/deceleration speed before interpolation, calculated with the parameters.
  • Page 270 13. Program Support Functions 13.12 High-accuracy control Vector accuracy interpolation When a fine segment is commanded and the angle between the blocks is extremely small (when not using optimum corner deceleration), interpolation can be carried out more smoothly using the vector accuracy interpolation.
  • Page 271 13. Program Support Functions 13.12 High-accuracy control (2) Reduction of arc radius reduction error amount using feed forward control With the high-accuracy control, the arc radius reduction error amount can be greatly reduced by combining the pre-interpolation acceleration/deceleration control method above-mentioned and the active feed forward control/SHG control.
  • Page 272 13. Program Support Functions 13.12 High-accuracy control Arc entrance/exit speed control There are cases when the speed fluctuates and the machine vibrates at the joint from the straight line to arc or from the arc to straight line. This function decelerates to the deceleration speed before entering the arc and after exiting the arc to reduce the machine vibration.
  • Page 273 13. Program Support Functions 13.12 High-accuracy control (Example 2) When using corner deceleration <Program> <Operation> G61.1 ; • • N1 G01 X-10. F3000 ; N2 G02 X5. Y-5. I2.5 ; N3 G01 X10. ; • • <Deceleration pattern> Speed Commanded speed Arc clamp speed Arc deceleration speed Corner deceleration speed...
  • Page 274: Synchronizing Operation Between Part Systems

    13. Program Support Functions 13.13 Synchronizing operation between part systems 13.13 Synchronizing operation between part systems CAUTION When programming a multi-part system, carefully observe the movements caused by other part systems' programs. Function and purpose The multi-axis, multi-part system complex control NC system can simultaneously run multiple machining programs independently.
  • Page 275 13. Program Support Functions 13.13 Synchronizing operation between part systems Command format Command for synchronizing with nth part system !nLl; n : Part system number l : Synchronizing number 01 to 9999 !2L1; !1L1; Synchro- nized operation !1L2; !3L2; Synchronized operation Command for synchronizing among three part systems !n!m ・・・...
  • Page 276 13. Program Support Functions 13.13 Synchronizing operation between part systems Detailed description (1) When the "!nLl" code is issued from the part system "i", the operation of that program will wait until the "!iLl" code is issued from the part system "n". When the "!iLl"...
  • Page 277 13. Program Support Functions 13.13 Synchronizing operation between part systems (3) Program error (P35) occurs when an illegal system number has been issued. (4) The synchronizing command is normally issued in a single block. However, if a movement command or M, S or T command is issued in the same block, whether to synchronize after the movement command or M, S or T command or to execute the movement command or M, S or T command after synchronization will depend on the parameter (#1093 Wmvfin).
  • Page 278 13. Program Support Functions 13.13 Synchronizing operation between part systems Example of synchronizing between part systems !2L2; !2L1; !1!2L3; !1L1; !1L4; !3L2; !2!3L3; !1!3L3; !3L4; The above programs are executed as follows:...
  • Page 279: Start Point Designation Synchronizing (Type 1); G115

    13. Program Support Functions 13.14 Start Point Designation Synchronizing (Type 1) 13.14 Start Point Designation Synchronizing (Type 1); G115 Function and purpose The part system can wait for the other part system to reach the start point before starting itself. The synchronization point can be set in the middle of a block.
  • Page 280 13. Program Support Functions 13.14 Start Point Designation Synchronizing (Type 1) (5) When the start point designated by G115 is not on the next block movement path of the other part system, the own system starts once the other part system has reached all of the start point axis coordinates.
  • Page 281: Start Point Designation Synchronizing (Type 2); G116

    13. Program Support Functions 13.15 Start Point Designation Synchronizing (Type 2) 13.15 Start Point Designation Synchronizing (Type 2); G116 Function and purpose Starting of the other part system can be delayed until the own part system reaches the designated start point. The synchronization point can be set in the middle of a block.
  • Page 282 13. Program Support Functions 13.15 Start Point Designation Synchronizing (Type 2) (5) When the start point designated by G116 is not on the next block movement path of the own system, the other system starts once the own system has reached all of the start point axis coordinates.
  • Page 283 13. Program Support Functions 13.15 Start Point Designation Synchronizing (Type 2) (9) The two other part systems start when the G116 command is issued for 3 part systems. Own part system !2!3 L1 G116 Other part system A !1!3 L1 !1!2 L1 Other part system B (10) The single block stop function does not apply for the G116 block.
  • Page 284: Miscellaneous Function Output During Axis Movement; G117

    13. Program Support Functions 13.16 Miscellaneous function output during axis movement 13.16 Miscellaneous function output during axis movement; G117 Function and purpose This function controls the timing of the miscellaneous function to be output. The miscellaneous function is output when the position designated in axis movement is reached. Command format G117 X_ Z_ M_ S_ T_ (2nd M)_ ;...
  • Page 285 13. Program Support Functions 13.16 Miscellaneous function output during axis movement (7) A miscellaneous function issued in the same block as the block with the movement command is output before the movement and starts the movement. During movement, operation will not stop at the operating start point.
  • Page 286: Coordinates System Setting Functions

    14. Coordinates System Setting Functions 14.1 Coordinate words and control axes 14. Coordinates System Setting Functions 14.1 Coordinate words and control axes Function and purpose There are three controlled axis for the basic specifications, but when an additional axis is added, up to 14 axes can be controlled.
  • Page 287: Basic Machine, Work And Local Coordinate Systems

    14. Coordinates System Setting Functions 14.2 Basic machine, work and local coordinate systems 14.2 Basic machine, work and local coordinate systems Function and purpose The basic machine coordinate system is fixed in the machine and it denotes that position which is determined inherently by the machine.
  • Page 288: Machine Zero Point And 2Nd, 3Rd, 4Th Reference Points (Zero Point)

    14. Coordinates System Setting Functions 14.3 Machine zero point and 2nd, 3rd, 4th reference points (Zero point) 14.3 Machine zero point and 2nd, 3rd, 4th reference points (Zero point) Function and purpose The machine zero point serves as the reference for the basic machine coordinate system. It is inherent to the machine and is determined by the reference (zero) point return.
  • Page 289: Basic Machine Coordinate System Selection ; G53

    14. Coordinates System Setting Functions 14.4 Basic machine coordinate system selection 14.4 Basic machine coordinate system selection ; G53 Function and purpose The basic machine coordinate system is the coordinate system that expresses the position (tool change position, stroke end position, etc.) that is characteristic to the machine. The tool is moved to the position commanded on the basic machine coordinate system with the G53 command and the coordinate command that follows.
  • Page 290: Coordinate System Setting ;G92

    14. Coordinates System Setting Functions 14.5 Coordinate system setting 14.5 Coordinate system setting ;G92 Function and purpose By commanding G92, the absolute value (workpiece) coordinate system and current position display value can be preset in the command value without moving the machine. Command format αα...
  • Page 291: Automatic Coordinate System Setting

    14. Coordinates System Setting Functions 14.6 Automatic coordinate system setting 14.6 Automatic coordinate system setting Function and purpose This function creates each coordinate system according to the parameter values input beforehand from the setting and display unit when the reference point is reached with the first manual reference point return or dog-type reference point return when the NC power is turned ON.
  • Page 292: Reference (Zero) Point Return; G28, G29

    14. Coordinates System Setting Functions 14.7 Reference (zero) point return 14.7 Reference (zero) point return; G28, G29 Function and purpose (1) After the commanded axes have been positioned by G0, they are returned respectively at rapid traverse to the first reference (zero) point when G28 is commanded. (2) By commanding G29, the axes are first positioned independently at high speed to the G28 or G30 intermediate point and then positioned by G0 at the commanded position.
  • Page 293 14. Coordinates System Setting Functions 14.7 Reference (zero) point return Detailed description (1) The G28 command is equivalent to the following: αα G00 Xx αα G00 Xx and α In this case, x are the reference point coordinates and they are set by a parameter “#2037 G53ofs”...
  • Page 294 14. Coordinates System Setting Functions 14.7 Reference (zero) point return Example of program (Example1) G28 Xx Reference (zero) point position (#1) 1st operation after power G0Xx has been switched on 2nd and subsequent operations Intermediate point G0Xx Return start position 1st operation after power has been switched on 2nd and subsequent...
  • Page 295 14. Coordinates System Setting Functions 14.7 Reference (zero) point return (Example2) G29 Xx Present position (G0)Xx G28, G30 intermediate point (x G0 Xx (Example 3) G28 Xx ; (From point A to reference (zero) point) G30 Xx ; (From point B to 2nd reference (zero) point) G29 Xx ;...
  • Page 296: 2Nd, 3Rd And 4Th Reference (Zero) Point Return; G30

    14. Coordinates System Setting Functions 14.8 2nd, 3rd and 4th reference (zero) point return 14.8 2nd, 3rd and 4th reference (zero) point return; G30 Function and purpose The tool can return to the second, third, or fourth reference (zero) point by specifying G30 P2 (P3 or P4).
  • Page 297 14. Coordinates System Setting Functions 14.8 2nd, 3rd and 4th reference (zero) point return Detailed description (1) The second, third, or fourth reference (zero) point return is specified by P2, P3, or P4. A command without P or with P0, P1, P5 or a greater P number is ignored, returning the tool to the second reference (zero) point.
  • Page 298 14. Coordinates System Setting Functions 14.8 2nd, 3rd and 4th reference (zero) point return (6) The tool length offset amount for the axis involved is canceled after the second, third and fourth reference (zero) point returns. (7) With second, third and fourth reference (zero) point returns in the machine lock status, control from the intermediate point to the reference (zero) point will be ignored.
  • Page 299: Reference Point Check; G27

    14. Coordinates System Setting Functions 14.9 Reference point check 14.9 Reference point check; G27 Function and purpose This command first positions the tool at the position assigned by the program and then, if that positioning point is the first reference point, it outputs the reference point arrival signal to the machine in the same way as with the G28 command.
  • Page 300: Workpiece Coordinate System Setting And Offset ; G54 To G59 (G54.1)

    14. Coordinates System Setting Functions 14.10 Workpiece coordinate system setting and offset 14.10 Workpiece coordinate system setting and offset ; G54 to G59 (G54.1) Function and purpose (1) The workpiece coordinate systems are for facilitating the programming of workpiece machining in which the reference point of the workpiece to be machined is to serve as the zero point.
  • Page 301 14. Coordinates System Setting Functions 14.10 Workpiece coordinate system setting and offset Detailed description (1) With any of the G54 through G59 commands, the tool diameter offset amounts for the commanded axes will not be canceled even if workpiece coordinate system selection is commanded.
  • Page 302 14. Coordinates System Setting Functions 14.10 Workpiece coordinate system setting and offset (7) A new workpiece coordinate system 1 is set by issuing the G92 command in the G54 (workpiece coordinate system 1) mode. At the same time, the other workpiece coordinate systems 2 through 6 (G55 to G59) will move in parallel and new workpiece coordinate systems 2 through 6 will be set.
  • Page 303 14. Coordinates System Setting Functions 14.10 Workpiece coordinate system setting and offset (14) When number of workpiece offset sets additional specifications is not added, the program error (P172) will occur when the G10 L20 command is executed. (15) The local coordinate system cannot be used during G54.1 modal. The program error (P438) will occur when the G52 command is executed during G54.1 modal.
  • Page 304 14. Coordinates System Setting Functions 14.10 Workpiece coordinate system setting and offset Example of program (Example 1) (1) G28 X0Y0 ; (2) G53 X − 1000 Y − 500 ; (3) G53 X0Y0 ; Reference (zero) point Present return position (#1) position When the first reference point coordinate is zero, the basic machine coordinate system zero point and reference (zero) point return position (#1) will coincide.
  • Page 305 14. Coordinates System Setting Functions 14.10 Workpiece coordinate system setting and offset (Example 3) When workpiece coordinate system G54 has shifted (−500, −500) in example 2 (It is assumed that 3 through 10 in example 2 have been entered in subprogram 01111.) (1) G28 X0 Y0 ;...
  • Page 306 14. Coordinates System Setting Functions 14.10 Workpiece coordinate system setting and offset (Example 4) When six workpieces are placed on the same coordinate system of G54 to G59, and each is to be machined with the same machining. (1) Setting of workpiece offset data Workpiece1 X = −100.000 Y = −100.000 ........
  • Page 307 14. Coordinates System Setting Functions 14.10 Workpiece coordinate system setting and offset...
  • Page 308: Local Coordinate System Setting; G52

    14. Coordinates System Setting Functions 14.11 Local coordinate system setting 14.11 Local coordinate system setting; G52 Function and purpose The local coordinate systems can be set independently on the G54 through G59 workpiece coordinate systems using the G52 command so that the commanded position serves as the programmed zero point.
  • Page 309 14. Coordinates System Setting Functions 14.11 Local coordinate system setting (Example 1) Local coordinates for absolute value mode (The local coordinate system offset is not cumulated) 2500 (1) G28X0Y0 ; (2) G00G90X1. Y1. ; 2000 (3) G92X0Y0 ; (4) G00X500Y500 ; Local coordinate 1500 (5) G52X1.
  • Page 310 14. Coordinates System Setting Functions 14.11 Local coordinate system setting (Example 3) When used together with workpiece coordinate system 1000 1000 Workpiece coordinate system (parameter setting value) 500 2000 (1) G28X0Y0 ; (2) G00G90G54X0Y0 ; 3000 (3) G52X500Y500 ; (4) M98P200 ; 2500 (5) G00G90G55X0Y0 ;...
  • Page 311 14. Coordinates System Setting Functions 14.11 Local coordinate system setting (Example 4) Combination of workpiece coordinate system G54 and multiple local coordinate systems Workpiece coordinate offset (parameter setting value) (1) G28X0Y0 ; (2) G00G90G54X0Y0 ; (3) M98P300 ; (4) G52X1. Y1. ; 3000 (5) M98P300 ;...
  • Page 312: Measurement Support Functions

    15. Measurement Support Functions 15.1 Automatic tool length measurement 15. Measurement Support Functions 15.1 Automatic tool length measurement; G37 Function and purpose These functions issue the command values from the measuring start position as far as the measurement position, move the tool in the direction of the measurement position, stop the machine once the tool has arrived at the sensor, cause the NC system to calculate automatically the difference between the coordinate values at that time and the coordinate values of the commanded measurement position and provide this difference as the tool offset amount.
  • Page 313 15. Measurement Support Functions 15.1 Automatic tool length measurement Example of execution For new measurement -100 -200 -300 -400 Instrument H01=0 T01 ; M06 T02 ; G90 G00 G43 Z0 H01 ; G37 Z-400 R200 D150 F1 ; Coordinate value when measurement position is reached = -300 -300 - (-400) = 100 0+100 = 100 Where, H01 = 100...
  • Page 314 15. Measurement Support Functions 15.1 Automatic tool length measurement Detailed description (1) Operation with G37 command Rapid traverse rate Speed Measurement allowable range D(d) D(d) F(Fp) R(r) Distance Offset amount Measuring Operation 1 position Normal completion Or no detection Stop point Alarm stop (P607) Operation 2 Sensor...
  • Page 315 15. Measurement Support Functions 15.1 Automatic tool length measurement Precautions (1) Program error (P600) results if G37 is commanded when the automatic tool length measurement function is not provided. (2) Program error (P604) results when no axis has been commanded in the G37 block or when two or more axes have been commanded.
  • Page 316: Skip Function; G31

    15. Measurement Support Functions 15.2 Skip function 15.2 Skip function; G31 Function and purpose When the skip signal is input externally during linear interpolation based on the G31 command, the machine feed is stopped immediately, the remaining distance is discarded and the command in the following block is executed.
  • Page 317 15. Measurement Support Functions 15.2 Skip function Execution of G31 G90 G00 X-100000 Y0 ; G31 X-500000 F100 ; G01 Y-100000 ; G31 X0 F100 ; Y-200000 ; G31 X-50000 F100 ; Y-300000 ; X0 ; -500000 -10000 -100000 -200000 -300000 Detailed description (Readout of skip coordinates) The coordinate positions for which the skip signal is input are stored in the system variables #5061...
  • Page 318 15. Measurement Support Functions 15.2 Skip function Detailed description (G31 coasting) The amount of coasting from when the skip signal is input during the G31 command until the machine stops differs according to the parameter "#1174 skip_F" or F command in G31. The time to start deceleration to a stop after responding to the skip signal is short, so the machine can be stopped precisely with a small coasting amount δ...
  • Page 319 15. Measurement Support Functions 15.2 Skip function Detailed description (Skip coordinate readout error) (1) Skip signal input coordinate readout The coasting amount based on the position loop time constant Tp and cutting feed time constant Ts is not included in the skip signal input coordinate values. Therefore, the work coordinate values applying when the skip signal is input can be read out across the error range in the following formula as the skip signal input coordinate values.
  • Page 320 15. Measurement Support Functions 15.2 Skip function Examples of compensating for coasting (1) Compensating for skip signal input coordinates #110 = Skip feedrate ; #111 = Response delay time t G31 X100. F100 ; Skip command G04 ; Machine stop check #101 = #5061 ;...
  • Page 321: Multi-Step Skip Function1; G31.N, G04

    15. Measurement Support Functions 15.3 Multi-step skip function1 15.3 Multi-step skip function1; G31.n, G04 Function and purpose The setting of combinations of skip signals to be input enables skipping under various conditions. The actual skip operation is the same as with G31. The G commands which can specify skipping are G31.1, G31.2, G31.3, and G04, and the correspondence between the G commands and skip signals can be set by parameters.
  • Page 322 15. Measurement Support Functions 15.3 Multi-step skip function1 Example of operation (1) The multi-step skip function enables the following control, thereby improving measurement accuracy and shortening the time required for measurement. Parameter settings : Skip condition Skip speed G31.1 20.0mm/min (f1) G31.2 5.0mm/min (f2) G31.3...
  • Page 323: Multi-Step Skip Function 2; G31

    15. Measurement Support Functions 15.4 Multi-step skip function 2 15.4 Multi-step skip function 2; G31 Function and purpose During linear interpolation, command operation is skipped if skip signal parameter Pp specified with a skip command (G31), which indicates external skip signals 1 to 4, is met. If multi-step skip commands are issued simultaneously in different part systems, both part systems perform skip operation simultaneously if the input skip signals are the same, or they perform skip operation separately if the input skip signals are different.
  • Page 324 15. Measurement Support Functions 15.4 Multi-step skip function 2 Detailed description (1) The skip is specified by command speed f. Note that the F modal is not updated. (2) The skip signal is specified by skip signal parameter p. p can range from 1 to 15. If p is specified outside the range, program error (P35) occurs.
  • Page 325 15. Measurement Support Functions 15.4 Multi-step skip function 2 (4) If skip signal parameter Pp is not specified, the skip condition specified by the G31 parameter works. If speed parameter Ff is not specified, the skip speed specified by the G31 parameter works.
  • Page 326: Appendix 1. Program Parameter Input N No. Correspondence Table

    Appendix 1. Program Parameter Input N No. Correspondence Table Appendix 1. Program Parameter Input N No. Correspondence Table (Note 1) The units in the table indicate the minimum setting units for the parameter data. (Note 2) The setting ranges given in the table are the setting ranges on the screen. Designate parameters related to the length by doubling the input setting unit.
  • Page 327 Appendix 1. Program Parameter Input N No. Correspondence Table P No. 2 (Axis independent parameter) Parameter Data Details N No. Setting range (Unit) Remarks type 2-word ± 99999999 × 2 Interpolation #2013 Axis specifica- unit tions parameter 2-word ± 99999999 × 2 Interpolation #2014 Axis specifica- unit...
  • Page 328 Appendix 1. Program Parameter Input N No. Correspondence Table P No. 5 (PLC constant) Parameter Data Details N No. Setting range (Unit) Remarks type • N No. #6301 PLC constant 2-word 0 ~ 99999999 corresponds to the constant #6348 No. (# No.) on the PLC constant screen.
  • Page 329 Appendix 1. Program Parameter Input N No. Correspondence Table P No. 11 (Axis common parameters (per part system)) Parameter Data Details N No. Setting range (Unit) Remarks type #8004 Automatic tool length 2-word 1 ~ 60000 (mm/min) Machining measurement parameter instrument speed 2-word 0 ~ 99999999 ×...
  • Page 330 Appendix 1. Program Parameter Input N No. Correspondence Table P No. 11 (Axis common parameters (per system)) Parameter Data Details N No. Setting range (Unit) Remarks type 1176 2-word ± 99999999 × 2 Interpolation #8305 Z Z axis chuck barrier Barrier range 5 unit...
  • Page 331: Appendix 2. Program Error

    Appendix 2. Program Error Appendix 2. Program Error (The message in bold characters appears on the screen.) These alarms occur during automatic operation, and the causes of these alarms are mainly program errors which occur, for instance, when mistakes have been made in the preparation of the machining programs or when programs which conform to the specification have not been prepared.
  • Page 332 Appendix 2. Program Error Error No. Details Remedy • Review the axis address command range. OVER CMP. LENG. The commanded movement distance is too long. (2 was exceeded.) • The default movement modal command at F-CMD NOTHING power on is G01. No feedrate command has been issued.
  • Page 333 Appendix 2. Program Error Error No. Details Remedy • Check the specifications. P122 NO AUTO C-OVER • Delete the G62 command from the program. An automatic corner override command (G62) has been issued though it is not included in the specifications. •...
  • Page 334 Appendix 2. Program Error Error No. Details Remedy • Change the G command to that which allows P157 SIDE REVERSED inversion of the compensation direction (G00, During G46 nose radius compensation, the G28, G30, G33, or G53). compensation direction is inverted. •...
  • Page 335 Appendix 2. Program Error Error No. Details Remedy • Check the specifications. P180 NO BORING CYC. • Correct the program. A fixed cycle command was issued though there are not fixed cycle (G72 ~ G89) specifications. • Issue the spindle speed command (S) when P181 NO S-CMD (TAP) the tapping fixed cycle command G84, G74...
  • Page 336 Appendix 2. Program Error Error No. Details Remedy • Check the compound type fixed cycle I (G70 P203 CONF. ERR (MRC) to G73) shape program. The compound type fixed cycle I (G70 to G73) shape program could not cut the work normally because it defined an abnormal shape.
  • Page 337 Appendix 2. Program Error Error No. Details Remedy • Check the specifications. P270 NO MACRO SPEC A macro specification was commanded though there are no such command specifications. • Check the specifications. P271 NO MACRO INT. A macro interrupt command has been issued though it is not included in the specifications.
  • Page 338 Appendix 2. Program Error Error No. Details Remedy • Review the program. P292 SETVN SNT. ERR • The number of characters in the variable There is an error in the SETVN statement when the variable name setting was made. name of the SETVN statement must be 7 or less.
  • Page 339 Appendix 2. Program Error Error No. Details Remedy • Make the corner rounding or chamfering less P383 CORNER SHORT than the movement distance since this In the corner rounding or chamfering distance is shorter than the corner rounding command, the movement distance was or chamfering.
  • Page 340 Appendix 2. Program Error Error No. Details Remedy • Check the program. P421 PRAM IN ERROR • The specified parameter number or set data is illegal. • An illegal G command address was input in parameter input mode. • A parameter input command was input during fixed-cycle modal or nose R compensation.
  • Page 341 Appendix 2. Program Error Error No. Details Remedy • Check the specifications. P602 NOMULTI SKIP A multiple skipping command (G31.1, G31.2 or G31.3) was issued though there are no such command specifications. • Specify the skip speed. P603 SKIP SPEED F0 The skip speed is 0.
  • Page 342: Appendix 3. Order Of G Function Command

    Appendix 3. Order of G Function Command Priority Appendix 3. Order of G Function Command Priority (Command in a separate block when possible) (Note) Upper level: When commanded in the same block indicates that both commands are executed simultaneously G code G43, G44, G00 ~ G03 G17 ~ G19...
  • Page 343 Appendix 3. Order of G Function Command Priority G code G43, G44, G00 ~ G03 G17 ~ G19 G40 ~ G42 Commanded G90, G91 G94, G95 G20, G21 G code G20, G21 Possible in same block Inch/metric changeover G27 ~ G30 are G27 ~ G30 are executed executed...
  • Page 344 Appendix 3. Order of G Function Command Priority G code G50.1 G73 ~ G89 G54 ~ G59 G61 ~ G64 G66 ~ G67 Commanded G98, G99 G96, G97 G51.1 G code Group 1 G66 ~ G67 command is are executed During the arc executed command, all...
  • Page 345 Appendix 3. Order of G Function Command Priority G code G50.1 G73 ~ G89 G54 ~ G59 G61 ~ G64 G66 ~ G67 Commanded G98, G99 G96, G97 G51.1 G code G20, G21 Inch/metric changeover G66 ~ G67 G27 ~ G30 are are executed executed G27 ~ G30...
  • Page 346 Appendix 3. Order of G Function Command Priority G code G00 ~ G03.1 G43, G44, G17 ~ G19 G40 ~ G42 Commanded G90, G91 G94, G95 G20, G21 G code Arc and G43, G44 cause G43, G44, G49 G command error P70 commanded Length...
  • Page 347 Appendix 3. Order of G Function Command Priority G code G00 ~ G03.1 G43, G44 G40 ~ G42 Commanded G17, G19 G90, G92 G94, G95 G20, G21 G code G66 ~ G67 are executed G66 ~ G67 G00 ~ G03.1 are executed G66 ~ G67 modals are...
  • Page 348 Appendix 3. Order of G Function Command Priority G code G50.1 G73 ~ G89 G54 ~ G59 G61 ~ G65 G66 ~ G67 Commanded G98, G99 G96, G97 G51.1 G code G66 ~ G67 are executed G43, G44, G49 G43 ~ G49 Length modals are compensation...
  • Page 349 Appendix 3. Order of G Function Command Priority G code G50.1 G73 ~ G89 G54 ~ G59 G61 ~ G67 G66 ~ G67 Commanded G98, G99 G96, G97 G51.1 G code G66 ~ G67 G66 ~ G67 G command G66 ~ G67 commanded are executed are executed...
  • Page 350 Revision history Date of revision Manual No. Revision details December 2000 BNP-B2260 ∗ First edition created. May 2004 BNP-B2260B • The contents revised following to the software Ver.C and Ver.D. • Mistakes, etc. were corrected.
  • Page 351 Every effort has been made to keep up with software and hardware revisions in the contents described in this manual. However, please understand that in some unavoidable cases simultaneous revision is not possible. Please contact your Mitsubishi Electric dealer with any questions or comments regarding the use of this product. Duplication Prohibited This instruction manual may not be reproduced in any form, in part or in whole, without written permission from Mitsubishi Electric Corporation.
  • Page 352 MITSUBISHI ELECTRIC CORPORATION HEAD OFFICE : MITSUBISHI DENKI BLDG., 2-2-3, MARUNOUCHI, CHIYODA-KU, TOKYO 100-8310, JAPAN MC6/C64/C64T(M/T) MODEL MODEL 008-047 CODE BNP-B2260B (ENG) Manual No. Specifications subject to change without notice. Printed in Japan on recycled paper. (0405) MEE...

This manual is also suitable for:

Meldas c64Meldas c64t

Table of Contents