Stop and resume - spindle operations

More
14 Nov 2013 21:52 #40827 by emcPT
Hello to all,

In a lathe that is totally covered, we have a operator door from witch the operator loads the parts and can open the door for checking (measure) the part currently being done. We need to ensure the operator safety but at the same time allow flexibility on the machine operation.

What would be the best method to implement the following:

1)
When the machine is in automatic mode (running/cutting) and the operator opens the door, linuxcnc acts like feedhold (this should be easy enough) AND stops the spindle at the same time (this we do not know how to do).

2)
When the operator closes the door, the machine waits until something is pressed (resume feedhold is the best candidate) AND the spindle gains the desired (previous) velocity.

3)
When the door it open, even if the operator presses the spindle on or issues a MDI command for the spindle, the spindle will not rotate as the door is open.

Any idea? Is already something implemented? Someone is doing anything like we pretend?

By the way, for those that are following my questions, we currently have a machine working/producing parts, totally implemented with linuxcnc!

Thank you

Please Log in or Create an account to join the conversation.

More
15 Nov 2013 00:31 #40832 by andypugh
For situations like this I think that LUT5 is the right module.
You can then make a table of "if this input is like this, and this is like this, then the spindle-enable looks like this"

Feed hold is probably the pin to use for the axes, but for the spindle I think I would prefer to see the spindle drive being disabled, rather than relying on spindle-override being set to zero or similar.
In fact, it might even be best to hard-wire the spindle drive through a switch on the access door.
The following user(s) said Thank You: emcPT

Please Log in or Create an account to join the conversation.

More
16 Nov 2013 00:30 #40841 by JR1050
I brought the topic of multiple instances of feedhold up in another thread. It seems the best way to do this is to access the mnl feedhold command directly, which as of now I have not figured out how to do. You can use the lut5 component as Andy suggested or you can write a short component using halui.feedhold and halui.resume. Each instance of feed hold would have its own in pin connected to halui.feedhold and conneceted to the condition that invokes it. Likewise you also will have just as many resume pins connected to halui.resume and connected to the condition that releases feedhold. I can give you an example if you would like. I have been thinking on this for a while.

Please Log in or Create an account to join the conversation.

More
16 Nov 2013 05:56 #40844 by emcPT
Although I did not implemented it, my colleague already did it.
I am almost sure that we only used simple hal commands and no component was needed.
We are indeed using the feedhold, spindle stop and also a hard wire to the spindle VFD for extra safety on the stop.
When the operator closes the door, program automatically restarts, what was our intention, as we normally open the door to clean the work piece.
It is, as far as I know, implemented, so if you (JR1050) want the relevant part of our hal file, just let me know, although we only use one condition for the feedhold, that is the door switch.

Please Log in or Create an account to join the conversation.

More
16 Nov 2013 07:12 #40846 by JR1050
Thanks for offering to.share, I wrote a multi input feed hold section into a component for my operator panels, as I have a feedhold button, a door switch, an orient routine, gear change and tool change that required feed hold at multiple instances along with error messages, that may or may not require feedhold or estop. I was just throwing out other possibilities!!

Please Log in or Create an account to join the conversation.

More
16 Nov 2013 08:29 - 16 Nov 2013 08:57 #40848 by DaOne
JR1050, I would love to see your example. I will be implementing this in the future on a machine. The thing that worries me is I remember reading about a bug. Basically if you stopped the spindle in CSS mode it would not restart correctly.

Found some info on the bug...

linuxcnc.org/hardy/lucid/index.php/itali...rpm-cap?limitstart=0
Last edit: 16 Nov 2013 08:57 by DaOne.

Please Log in or Create an account to join the conversation.

More
16 Nov 2013 09:45 #40849 by cmorley
If using linuxcnc 2.6 there are two pins:

motion.spindle-inhibit
motion.feed-inhibit

that may be helpful to you.

Chris M

Please Log in or Create an account to join the conversation.

More
16 Nov 2013 18:47 #40859 by newbynobi
And in 2.6 it is possible to start and stop the spindle at any time, through an MDI command or just changing the hal pin state,
So you can also use and and component, spindle signal and door singnal to and and ouit to spindle...


Norbert

Please Log in or Create an account to join the conversation.

Moderators: piasdom
Time to create page: 0.094 seconds
Powered by Kunena Forum