Andy,
Looking forward to having multi spindle support in master!

I have never used a multi spindle machine, so don't know what a standard syntax 
is, but I am not keen on the use of $ for specifying the spindle. Granted, my 
objections are petty, only being that it is not an attractive character and is 
not present on most machine keypads.
It seems like a natural choice would be P. I understand that you used $ as P is 
used in several spindle specific commands such as G76, but is it actually 
necessary (or desirable) to specify the spindle for such commands? You 
mentioned there is a concept of active spindle, so it seems like that would 
make it unambiguous what spindle the command was meant for.
For example it seems like P would work fine in this situation:
G97
S500 P1
M3 (turns on spindle #1 since it was set as active spindle with S word)
(or in one line M3 S500 P1)
G76 P2.5 Z0 I-2 J0.5 K3.065 H1 R1 Q30 E50 L2 (threading synchronized with 
spindle #1)

The only place this might fall apart is if LCNC supported simultaneous multi 
spindle machining, for example parting off in the secondary spindle while 
threading in the primary. But since LCNC executes in a liner fashion, if you 
program the threading operation first LCNC will not execute the parting 
operation until the threading is complete. So it seems you would only ever have 
one "active" spindle at a time so there would not by any ambiguity what spindle 
the command was meant for.
Am I missing something? (probably!! :D)
Cheers,
Kurt

On Sep 16 2018, at 9:56 am, andy pugh <[email protected]> wrote:
>
> 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-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>


_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to