External ESTOP trouble

More
1 month 4 weeks ago - 1 month 4 weeks ago #349266 by rodw
Replied by rodw on topic External ESTOP trouble
Actually, to be compliant for safety, a machine cannot depend on LinuxCNC to manage the estop. The compliant external safety circuit should be advising LinuxCNC when the an environment is safe via the iocontrol pins. That's how I have set up my last few machines.

And yes, your 15 tonne machine is a perfect case to adopt modern hardware. The servo drive needs to have a Safe Torque Off  (STO) input triggered by the redundant safety circuit so the servos are safely brought to a halt. In an ethercat environment, there is specific modules to manage this. To your Beckhoff EK1100 coupler you need to add a EL6900 safety PLC and a EL1904 that contains 4 compliant safe inputs. In the absence of STO, You can place two force guided relays in series to trigger the normal servo enable/disable. Siemens make  a 5 pole force guided relay and two of these would allow compliant shutdown of 5 servos (4 axis plus spindle) But you  would also need 2 more single pole force guided relays to fire the signal back to LinuxCNC's iocontrol to tell the controller an estop situation existed.

I'm sorry Tommy, but none of those 20 machines you retrofitted are compliant in today's safety concious world.
Last edit: 1 month 4 weeks ago by rodw.

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

More
1 month 4 weeks ago #349268 by tommylight
Replied by tommylight on topic External ESTOP trouble

I'm sorry Tommy, but none of those 20 machines you retrofitted are compliant in today's safety concious world.
Oh hell....
YES, they are Rod, and you know that for sure as you have read everything i did here, but still you have to protect your convoluted ways by demeaning me and my work.
Yet, you did not read what STO actually does and the explicit warnings that go with it.
-
Rod, i will not continue this discussion any further, please refrain from tainting topics and only reply with actual helpful posts, as you often and for a long time did. Thank you.

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

More
1 month 4 weeks ago #349275 by Todd Zuercher
Rod, I agree with Tommy, the Linuxcnc E-stop Latch component isn't necessary for estop compliance. Linuxcnc doesn't even need to know about the hard E-stop loop for a machine to be compliant. The soft E-stops in Linuxcnc really have nothing to do with it, and shouldn't (I'm not even sure that it even can) be counted on if you want a compliant E-stop system. It is how the hard E-stop is implemented that makes a machine's E-stop system compliant.
The following user(s) said Thank You: tommylight

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

More
1 month 4 weeks ago #349276 by tuxcnc
Replied by tuxcnc on topic External ESTOP trouble

The issue is that my ESTOP-out is no-longer tracking either the GUI ESTOP or the hardware ESTOP-in.  It just stays asserted all the time with no change of state.
 
I don't have a 7i96s, but out of curiosity I checked it on my 7i92...

You can make two types of mistakes:
1. Electric.
2. Logical.
It looks like you did both.
First, about the electric one. It is true that there are inputs that detect all possible states (high, low and high impedance), but I have only seen such inputs in logic states analyzers. Typically, the input detects only one state or no this state. For example, shorting the input to ground causes the output to change to the opposite state, but it does not matter whether we short the input to Vcc or leave it unconnected anywhere. In this case, if the output of the previous gate is high, closing or opening the serial switch does not change anything because the high state and the high impedance state are interpreted the same.
Now about the logical one. By pressing the serial switch we do not change the input state, we only cut off the signal. And this is not the same as what I explained above.

Your configuration either doesn't work at all, or works in such a way that it cuts off the iocontrol.0.user-enable-out signal. This means that the serial switch does not turn off the machine, it only prevents it from being turned on/off via an icon in the GUI, which is definitely not what you wanted.

Can this be fixed?
Probably yes, but it makes no sense because you have a ready-made and 100% reliable solution - the estop-latch component. A switch between the input and ground is connected there, so that each time it is switched, the input status changes.

This is from my config:
Code:
net estop-ext hm2_7i92.0.gpio.027.in => estop-latch.0.fault-in net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset net estop-user-enable iocontrol.0.user-enable-out => estop-latch.0.ok-in net estop-ok estop-latch.0.ok-out => iocontrol.0.emc-enable-in

And now a few words about the emergency stop switch. As the name suggests, it is used in an emergency situation when we want to stop the machine immediately to prevent it from causing damage.
Sometimes the emergency switch must also disconnect or enable something (for example, turn off the motors and apply the brakes), so simply connecting it to the control program may be insufficient or unreliable (the program may hang or respond with a delay).
You have to remember this, and the bigger the machine, the more seriously that should be treated...

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

More
1 month 3 weeks ago #349332 by Billy Boy
Replied by Billy Boy on topic External ESTOP trouble
Gosh... I didn't mean to open a can of worms!

Thank you very much tommylight for your suggested fix. Unfortunately when I add this line to my hal file, linuxcnc fails with the following...

"./Bridgeport.hal:313: Pin 'hm2_7i96s.0.ssr.00.out-00' was already linked to signal 'estop-out'"

(aside: line 313 is where I added tommylight's line)

I have been reading up on the HAL interface, and I have to admit that I am still quite confused. about how these things are intended to work? It is clear that they do, and for that I am thankful. It is just very hard for a newbie such as myself to make sense of.

Rod,
I appreciate all of your helpful literature and the videos you have made on various linuxcnc topics.

When you say "Its pretty well described in the man page and there was a hal tutorial about it on the forum." it would be *super* helpful if you would link the articles/threads you are referencing. Otherwise I really have no way of knowing which particular man page or forum thread you are referring to. There are a number of forum threads which seem to fit your description and which also appear to contradict one another?

I wonder if you are referencing the estop-latch man page? If so, I have read it, and I do not feel that the man page does a very good job of describing estop-latch at all! It does not explain estop-latch's purpose, when it should be used and when it should not. Further, it does not provide any usage examples. The man page does describe the options, and I expect it does so completely, but it does not explain any of them. I found it quite cryptic actually. I am still entirely confused about what problem estop-latch is intended to solve.

I understand there is some debate about whether having the hard estop signal run through linuxCNC is "compliant" or not. I must admit that I am completely in the dark as to what standard we are complying with, so I have no opinion. While I do care about safety, compliance is not a issue for me right now in my home shop.

All I am trying to achieve here is to have "hm2_7i96s.0.ssr.00.out-00" go high when "hm2_7i96s.0.inm.00.input-03" goes low.

Seems like it ought to be simple... but there is clearly some piece of the larger picture that I am missing, because it is appears that it is not simple?

Thank you for your help.

Bill

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

More
1 month 3 weeks ago #349333 by tommylight
Replied by tommylight on topic External ESTOP trouble

Code:
# --- ESTOP-OUT --- net estop-out  =>     hm2_7i96s.0.ssr.00.out-00 setp hm2_7i96s.0.ssr.00.invert-00 true# --- ESTOP-EXT --- net estop-ext     <=  hm2_7i96s.0.inm.00.input-03#  ---estop signals--- net estop-out     <=  iocontrol.0.user-enable-out net estop-ext     =>  iocontrol.0.emc-enable-in
Omit the first line by adding # in front of it.

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

Time to create page: 0.419 seconds
Powered by Kunena Forum