EStop State & Machine On/Off State

More
31 Aug 2013 23:52 #38318 by bkjohnson
Hi;

I'm starting to convert my Mach3 driven Orac lathe over to LinuxCNC. I'm truly looking forward to a fully functioning lathe implementation and having accurate documentation.

I figured I would also do some modifications to my machine to take advantage of some new LinuxCNC features like:
Using my already existing spindle encoder along with the index pulse
Adding an index to my axis for more accurate homing.

I have one area of confusion.... The EStop & Machine On/Off. I originally though I could use the EStop to completely kill the machine power and Power On/Off to enable/disable the drives while maintaining position.

Effectively, what is the difference between these two states?

Also, one other question, in Mach3, you can EStop the machine and then run a file to watch a, somewhat functioning, simulation. Does LinuxCNC have a way to do this on an operational machine?

Thanks in advance
Brett

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

More
01 Sep 2013 01:34 #38327 by Todd Zuercher
Unless you set up a open loop configuration LinuxCNC does not currently support a "dry run mode".

E-stop trips the on/off. The on/off is triggered with every error message that LinuxCNC issues but not e-stop. So if there is something that you do not want to be disabled at say a limit trip, or some thing else, you might not want to use the on/off to disable it.

If you want LinuxCNC to track position while the machine is in e-stop you have to be sure that the encoders remain powered and readable by LinuxCNC. So if your servo drives must process the encoder signals (and not just a simple pass through), then the drives must remain powered (at least the low voltage side of them).

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

More
01 Sep 2013 10:09 #38342 by andypugh

I have one area of confusion.... The EStop & Machine On/Off.


E-Stop really ought to be hardware. Proper, no-glitches, absolutely always works hardware. This may be something that you can choose to configure differently on your Orac, which whilst it can hurt you quite badly would require you to be really quite patient for it to kill you.

Machine-off is a software state. Encoders are tracked, and will be powered, servos and steppers are disabled. Limit switches are being monitored. It is a (sort of) an inputs-only, no outputs state.

How the various pins work is complex and machine-dependent, but the above is the logic as I understand it.

As an example, my Mill drops into machine-off if it sees a following error or a limit hit. It also inhibits me turning the machine back on based on a timer. However, as the inputs remain live, I actually intend to remove the timer (which is to protect a relay in the high-voltage PSU) and actually base it on monitoring the DC bus voltage as reported-back by my servo drives.

My E-stop is a physical loop of wires, through 2 switches and also through a software-controlled switch (actually one of the really useful 48V / 2A 7i64 card outputs) Any physical switch _or_ hitting the GUI button kills the main contactor and leaves only the PC and logic supplies live.

The various HAL pins (such as user-enable out and user-enable in) make up a system that I can't claim to fully understand, but I think that the philosophy above will help understand the "Why" if not the "What"

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

More
01 Sep 2013 12:53 #38351 by bkjohnson
Thanks for the quick replies.

I do currently have my EStop as a physical EStop. Kills everything. I'd like to leave this as it is.

What I'm hoping the Machine On/Off will do is allow me to just disable the drives and spindle. This would allow me to recover from an error or power down the drives for the night without losing my positioning. My understanding is that my Gecko drives will return to their position if they are only disabled, but lose position if powered off. I have an email out to Gecko to confirm.

Normally, I'd just get things hooked up and do some testing. But, we're currently completing a job for a client and can't take the machine out of commission. This job has been the main impetus for moving to LinuxCNC. I'm currently just setting up the new pc and playing with LinuxCNC. Once this first batch of parts are done, the machines getting the overhaul.

And yes, the Orac is small but it's pretty powerful for it's size. Whilst it may not kill me, I'd still like to keep all my fingers :) Not to mention tooling costs.

So, as far as I can tell, the EStop button will be more like an indicator for my physical EStop switches. Machine On/Off disables all outputs and motion but leaves everything else functioning. Does the Machine Off state clear the homed indicator?

Thanks again.
Brett

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

More
01 Sep 2013 18:34 #38359 by andypugh

What I'm hoping the Machine On/Off will do is allow me to just disable the drives and spindle.

That is how my machine works.

Does the Machine Off state clear the homed indicator?

No. In fact I don't think E-Stop does, unless you set a parameter in the INI file to tell it that the homes are volatile.

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

More
01 Sep 2013 19:07 #38360 by BigJohnT
I find the estop_latch component a good way to coordinate the physical estop and the GUI estop.

linuxcnc.org/index.php/english/forum/47-...5861-external-e-stop

I program from my desktop that is linked to the machines via LAN. I have a sim for each one configured to match the machine. When I need to run the G code to check the run time I do it on the sim.

linuxcnc.org/docs/html/man/man9/time.9.html

JT

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

More
01 Sep 2013 23:59 #38373 by bkjohnson

I find the estop_latch component a good way to coordinate the physical estop and the GUI estop.


Looks like I can have the EStop and Motion enable any way I like. HAL is pretty cool. So much flexibility. Now that I found the index on the main documentation for the components, things should go a little easier :) The documentation is great.

I program from my desktop that is linked to the machines via LAN. I have a sim for each one configured to match the machine. When I need to run the G code to check the run time I do it on the sim.


That's exactly how I want to work. Given the temperamental nature of my current control software, I work and test on my laptop and transfer with usb stick. Can't risk a network connection. With the new pc, I ran a 24 hour latency test with multiple downloads an some graphics running to ensure stability. I feel so much safer being in Linux rather than Windows.

Thanks
Brett

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

Time to create page: 0.132 seconds
Powered by Kunena Forum