Isn't it more in keeping with G-Code to do the equivalent of setting a mode.   
For example we set Relative or Absolute and from then on all motion is done 
that way. 

So why not an Mxxx.yyy to set currently active spindle.  At that point G-Code 
remains the same with no incompatibility with any of the CNC CAM programs.   
Changing Active Spindles would not set active spindle speed to 0.  It's left in 
the mode after the last command.

I'm not sure why there would ever be a need to have two spindles turning at the 
same time.  An example of where that might be useful would be interesting.

Or modify the tool selection process.
Select Tool # 990, 991 or 992 to lock in a spindle.  Then Tool 1 for that 
spindle. Again, existing CAM software just sees a G-Code sequence for Tool 
Selection. 

I prefer the Mxxx.yyy technique.

John Dammeyer


> -----Original Message-----
> From: andy pugh [mailto:bodge...@gmail.com]
> Sent: September-16-18 6:57 AM
> To: EMC developers; Enhanced Machine Controller (EMC)
> Subject: [Emc-users] Multi-spindle support
> 
> After some consultation with the release manager I have decided to
> push multi-spindle support in to the current development branch.
> A side-effect of this is that motion.spindle.xxxx pins all become
> spindle.0.xxxxx pins. (and so on for extra spindles.) When I push it
> this will be added as a refinement to the update_ini automatic script
> so configs should update automatically.
> 
> To add more spindles just add "num_spindles=" to the end of the
> "loadrt motmod" line in HAL, and add a [TRAJ]SPINDLES to the INI. It
> is imperative that these match or trouble will ensue.
> 
> The spindle to use is controlled by the $ character (as all the other
> letters were in use). This doesn't match any commercial control, but
> should make remapping to match any specific control relatively easy.
> 
> The current behaviour of LinuxCNC is that spindles have a speed even
> when off. To see this try M3 S100 followed by M5, then M3 with no
> S-word. You will see that the spindle re-starts with the previous
> speed.
> 
> This becomes rather more obvious with multi spindle.
> S10 $0
> S100 $1
> S1000 $2
> Will set the speeds of each spindle, but not start them.
> Then
> M3
> will start them all simultaneously. M4 will reverse them all. M5 will
> stop them all.
> 
> M4 $2 will only reverse spindle 2
> M5 $1 will only stop spindle 1.
> 
> G76 $1 ..... will perform a threading cycle synched to the encoder
> feedback on the spindle.1.revs pin.
> 
> A preview version (merged with current master) can be tried in the
> "andypugh/multispindle-master" branch.
> 
> Questions...
> What should be the effect of a $ on a line by itself?
> 
> Should we allow multiple $? eg M5 $0 $2 to stop two spindles? At the
> moment there is an internal concept of "current spindle". Perhaps
> there should instead be a spindle mask and $ should be interpreted to
> set this mask prior to parsing the S and F words in the block.
> 
> Has anyone used multi-spindle G-code on a different control?
> 
> --
> atp
> "A motorcycle is a bicycle with a pandemonium attachment and is
> designed for the especial use of mechanical geniuses, daredevils and
> lunatics."
> � George Fitch, Atlanta Constitution Newspaper, 1916
> 
> 
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users



_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to