CNC Programming

CNC | C | C++ | Assembly | Python | R | Rust | Arduino | Solidworks | Embedded Systems

G92, G92.1, G92.2 AND G92.3 - G92 OFFSETS

Table Of Contents:
  1. G-code Table
  2. G00 - Rapid Linear Motion
  3. G01 - Linear Motion at Feed Rate
  4. G02 and G03 - Arc at Feed Rate
  5. G04 - Dwell
  6. G10 - Coordinate System Data Tool and Work Offset Tables
  7. G17, G18 and G19 - Plane Selection
  8. G20 and G21 - Length Units
  9. G28 and G30 - Return to Home
  10. G28.1 - Reference Axes
  11. G40, G41 and G42 - Cutter Radius Compensation
  12. G43, G44 and G49 - Tool Length Offsets
  13. G47 - Engrave Sequential Serial Number
  14. G53 - Move in Absolute Coordinates
  15. G54 to G59 and G59 P~ - Select Work Offset Coordinate System
  16. G61 and G64 - Set Path Control Mode
  17. G73 - Canned Cycle - High Speed Peck Drill
  18. G80 - Cancel Modal Motion
  19. G81 to G89 - Canned Cycles
  20. G90 and G91 - Distance Mode
  21. G92, G92.1, G92.2 and G92.3 - G92 Offsets
  22. G93, G94 and G95 - Set Path Control Mode
  23. G98 and G99 - Canned Cycle Return Level 
You are strongly advised not to use this legacy feature on any axis where there is another offset applied.
To make the current point have the coordinates you want (without motion), program:
G92 X~ Y~ Z~ A~, where the axis words contain the axis numbers you want. All axis words are optional, except that at least one must be used. If an axis word is not used for a given axis, the coordinate on that axis of the current point is not changed.
It is an error if all axis words are omitted.
G52 and G92 use common internal mechanisms in the CS and may not be used together.
When G92 is executed, the origin of the currently active coordinate system moves. To do this, origin offsets are calculated so that the coordinates of the current point with respect to the moved origin are as specified on the line containing the G92. In addition, parameters 5211 to 5214 are set to the X-, Y-, Z-, A-axis offsets. The offset for an axis is the amount the origin must be moved so that the coordinate of the controlled point on the axis has the specified value.
Here is an example. Suppose the current point is at X=4 in the currently specified coordinate system and the current X-axis offset is zero, then G92 X7 sets the X-axis offset to -3, sets parameter 5211 to -3 and causes the X-coordinate of the current point to be 7.
The axis offsets are always used when motion is specified in absolute distance mode using any of the fixture coordinate systems. Thus, all fixture coordinate systems are affected by G92.
Being in incremental distance mode has no effect on the action of G92.
Non-zero offsets may already be in effect when the G92 is called. They are in effect discarded before the new value is applied. Mathematically the new value of each offset is A+B, where A is what the offset would be if the old offset were zero and B is the old offset. For example, after the previous example, the X-value of the current point is 7. If G92 X9 is then programmed, the new X-axis offset is -5, which is calculated by [[7-9] + -3]. Put another way the G92 X9 produces the same offset whatever G92 offset was already in place.
To reset axis offsets to zero, program: G92.1 or G92.2 G92.1 sets parameters 5211 to 5214 to zero, whereas G92.2 leaves their current values alone.
To set the axis offset values to the values given in parameters 5211 to 5214, program: G92.3
You can set axis offsets in one program and use the same offsets in another program by programming G92 in the first program. This will set parameters 5211 to 5214. Do not use G92.1 in the remainder of the first program. The parameter values will be saved when the first program exits and restored when the second one starts up. Use G92.3 near the beginning of the second program. That will restore the offsets saved in the first program.
  • G92 Example   
    (Sample Program G92EX23:)
    (Workpiece Size: X3.5, Y2.5, Z0.75)
    (Tool: Tool #2, 1/4" Slot Drill)
    (Tool Start Position: X0, Y0, Z1)

    N2 G90 G80 G40 G54 G20 G17 G50 G94 G64 (safety block)
    N5 G90 G20
    N10 M06 T2 G43 H2
    N15 M03 S1200
    N20 G00 X0.5 Y0.5
    N25 Z0.1
    N30 G01 Z-0.25 F5
    N35 G02 X0.5 Y0.5 I0.25 J0.25 F25
    N40 G00 Z0.125
    N45 X1.5 Y1.5
    N50 G92 X0.5 Y0.5 (Reassign coordinates)
    N55 G01 Z-0.25 F5
    N60 G02 X0.5 Y0.5 I0.25 J0.25 F20
    N65 G00 Z0.1
    N70 X1.5 Y-0.5
    N75 G92 X0.5 Y0.5 (Reassign coordinates)
    N80 G01 Z-0.25 F5
    N85 G02 X0.5 Y0.5 I0.25 J0.25 F15
    N90 G00 Z1
    N95 X-2 Y0
    N100 G92 X0 Y0 (Reassign coordinates)
    N105 M05
    N110 M30


No comments:

Post a Comment