CNC and Coordinate Systems
-
Hi all,
Reading articles, forum posts here and there and watching videos has got me confused as hell... maybe somebody could help me shine some light here?
Let's see if I understood that correctly:
- G53 is the Machine coordinate system
- G54 is the Work Coordinate System #1
- G55 is the Work Coordinate System #2
- and so on...
did I get it right?
Then I have a macro to manually set the X=0 on WCS #1 which would be:
G10 P2 L20 X0 ; Sets new zero on WCS #2 G54 ; switches to WCS #2 M500
would that be right?
So when I send a G10 command:
P2 is G54
P3 is G55and so on? The Gcode wiki does not specify that...
-
The first part about G53 being machine coordinates, G54 WCS #1 etc are correct.
In my CNC I have the G54 already in the config.g to always use it (while Fusion supports multiple WCSs, I never needed more than 1). This ensures we are on WCS #1.
My macro for setting the XY origin then contains the line:
G10 L20 P1 X0 Y0
The P1, will thus set WCS #1 (aka G54); Therefore, P2 will set WCS #2 (aka G55) etc.
-
@Jacotheron said in CNC and Coordinate Systems:
In my CNC I have the G54 already in the config.g to always use it (while Fusion supports multiple WCSs, I never needed more than 1). This ensures we are on WCS #1.
Hey, thanks for your input. Would you mind sharing that part of the config.g? Nothing on my config.g resembles that... (see below)
; Configuration file for Duet ; executed by the firmware on start-up ; WorkBee Firmware Version 1.0.7 ; Configure Connection - ENABLE ONLY ONE OF THE BELOW THREE M552 S1 ; Enable Wifi Network ;M552 S2 ; Enable Access Point Mode ;M552 S1 P192.168.2.14 ; Enable Ethernet - Change IP Address to suit ; - - - - - - - - - - - - - - - - - - - - ; DO NOT CHANGE ANY OF SETTINGS BELOW ; TO MAKE A CHANGE, COPY THE LINE OF CODE, PASTE IT INTO customconfig.g. THE CHANGE CAN THEN BE MADE IN customconfig.g ; ANY ADDITIONAL SETTINGS SHOULD BE PUT IN customconfig.g ; General preferences M453 ; Put the machine into CNC Modes M550 PWorkBee CNC Machine ; Set machine name G90 ; Set absolute coordinates ; Network M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Configure Drives M569 P0 S0 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S0 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M584 X0 Y1:3 Z2 ; Apply drive mapping to axes ; Configure Axes M92 X400 Y400 Z400 ; Set steps per mm M350 X16 Y16 Z16 I1 ; Configure microstepping M566 X500 Y500 Z500 ; Set maximum instantaneous speed changes (mm/min) M203 X2500 Y2500 Z2500 ; Set maximum speeds (mm/min) M201 X150 Y150 Z150 ; Set accelerations (mm/s^2) M906 X2400 Y2400 Z2400 I100 ; Set motor currents (mA) ; Configure Axis Limits M208 X0 Y0 Z0 S1 ; Set axis minima M208 X800 Y770 Z94 S0 ; Set axis maxima ; Configure Endstops M574 X2 Y2 Z2 S0 ; Set active low endstops ; Other Settings M140 H-1 ; Disable heated bed M564 S1 H1 ; Disable jog commands when not homed M911 S21.0 R23 P"G91 G1 Z3 F1000" ; Configure power loss resume M501 ; Load Stored Parameters M98 Pcustomconfig.g ; Execute custom config settings
-
I added the G54 in the section "Other Settings" myself. Since it does not take further parameters, it simply does what it should.
-
Ah, OK. I understand now. Thanks!
-
Well, I finally got the time to do some experimenting. If I understood that correctly, I was mistaken regarding the G10 command. It seems it's like this:
P1 is G54 (WCS #1)
P2 is G55 (WCS #2)
etc.