Multiple instances of feed hold
My point is that if you are in the middle of a spindle-orient routine then the machine is "busy" so won't be interpreting any G-code movement commands, but will be in "Auto" so will also be ignoring jogs. So it seems to me that there is little danger of any unwanted axis movement.
JR1050 wrote: The transmission can only be shifted in one spot,which is also spindle orient and tool change position. It is imperative that nothing else move while the spindle orients.
It's also worth noting that it is possible to define default G-codes in the INI, though this is probably not a complete solution for always having the spindle-at-speed pin active.
Four pins sounds like it will work and spindle interlock is a good idea. Thanks!!
As far as I know there is no spindle orient (m19) available as of yet. I made up M119 as a user mcode and neither it or any of the logic (which I can attach,but a warning, it is in early stages) I have written have any provision for holding program execution in MDI or Auto as of yet . I dont know if it will stop and execute a component or will run it parallel with a G code program. I do know the original control called feedhold during gear changes, as I changed gears for a finishing pass and watched the table stop and the spindle orient before going to the next move. I also witnessed the toolchange arm removed by the headstock when a piece of sheetmetal got jammed up.
JR1050 wrote: As far as I know there is no spindle orient (m19) available as of yet.
Coming soon: (It currently exists only in the development version)
Note that just as S100 does nothing but set the value of a HAL pin to be connected as you wish to VFD, modbus, stepgen etc, M19 doesn't actually do a spindle orient, it just passes the request and the data to HAL. I rather expect that it disables axis motion at the same time too.
In HAL you could use the "Orient" component to handle the actual spindle control:
Feed-inhibit holds the feedrate at zero except during a spindle synch move (it waits till the end of the move)
spindle-inhibit sets the spindle speed to zero
multiple pins for each was was felt less useful, so one each will have to do.