INTRODUCTION:
We are discussing CNC machining, specifically VMC (Vertical Machining Center) programming. The question is about work coordinates and machine coordinates.
Let me explain:
In CNC machining, there are two primary coordinate systems:
1. Machine Coordinate System (MCS):
This is the absolute coordinate system of themachine itself.
• The origin (0,0,0) of the MCS is set by the
machine manufacturer and is fixed.
• It is typically located at the machine's home
position i.e. the position where all axes are
at their positive limits or at a predefined
reference point.
• The MCS is used by the machine to know its
absolute position and is the same for every
program run on that machine.
• It is also called as "Home Position", "Machine Zero", "Machine Reference Point".
When to Use Machine Coordinates:
• G28 - Returns to machine home positionG28 X0 Y0 Z0 ; Return all axes to machine home
• G53 - Moves in machine coordinate system
G53 G00 Z0 ; Rapid to machine Z zero (dangerous!)
G53 X100.0 ; Move to absolute machine position X100
2. Work Coordinate System (WCS):
• This is a user defined coordinate system setfor a each part, workpiece or fixture.
• The origin of the WCS is set by the
programmer or operator and can be moved to
any convenient location on the workpiece or
fixture. Origin (0,0,0) is set where you want it on the workpiece.
• This allows the programmer to define
positions relative to the workpiece, making
programming easier and more intuitive.
• In G-code, we use G54, G55, G56, G57, G58,
G59 and sometimes more with extended
offsets like G54.1 P1-P48 to specify which work offset we are using.
• It is also called as "Work Offsets", "Fixture Offsets", "Part Zero".
• If you forget to set work offset, the machine tries to go to machine zero, results in crash.
How they are used:
• When you set a work offset (say G54), you are telling the machine that the current position (usually the tool position) is at a specified point in the WCS.• The machine then calculates the transformation between the WCS and the MCS so that when you command a move to (X0, Y0, ZO) in the program, it goes to the WCS origin, which is set by the operator, for example, at a corner of the workpiece.
Let's say the machine has its home position at the top-right-front of the travel, this is machine zero, MCS. The operator sets the G54 work offset by moving the tool to the desired WCS origin like the top-left corner of the workpiece and then records the machine coordinates of that position in the offset register (G54 X, Y, Z).
Then, in the program, when you write:
G54 GOO X0 YO Z0;
The machine will move the tool to that recorded position (the WCS origin).
e.g.
Machine Position:
X-500.000 Y-300.000 Z-200.000 (MCS)
Work Offset (G54):
X+500.000 Y+300.000 Z+200.000
Result in Program:
X0.000 Y0.000 Z0.000 (WCS)
Always use work coordinates for cutting moves. Use machine coordinates only for: homing (G28), tool changes and moving between fixtures.
Why use work coordinates?
• You can have multiple work offsets for multiple parts or fixtures (G54, G55, etc.). • You can program the part relative to a convenient point on the workpiece.
• We don't use machine coordinates because your part location changes with every setup. WCS lets you program the part once, then run it anywhere on the table.
• If the workpiece is moved, you only need to update the work offset (or re-set G54) rather than reprogramming all the coordinates.
How to set up multiple parts on a table?
Use multiple offsets for: multiple parts, multiple setups.Part 1 (Front-Left): G54 X0 Y0 Z0
Part 2 (Front-Right): G55 X200.0 Y0 Z0
Part 3 (Back-Left): G56 X0 Y150.0 Z0
Part 4 (Back-Right): G57 X200.0 Y150.0 Z0
Program Using Multiple Offsets:
For part 1,
G54 G00 X0 Y0 ... (machine operations)
G00 Z100.
For part 2,
G55 G00 X0 Y0 ... (same operations, different location)
How to take work offset?
You have a 200×150×50mm block. First choose part zero. It may be top-left corner, center of top face, a fixture/dowel hole location.Noe set values in G54. Using edge finder on top-left corner, fir x axis, machine reads X-512.345, edge finder radius = 5mm
G54 X = -512.345 + 5.0 = -507.345
For Y-axis use same method.
For Z-axis, touch top with tool.
Machine reads Z-203.456
G54 Z = -203.456
Set Z-zero to the top of finished part, not raw material.
On program define G54,
G54 G00 X0 Y0 Z100. (Safe start)
Z5. (Approach height)
G01 Z-5.0 F100. (Cut 5mm deep)
0 Comments