External ESTOP trouble

  • Billy Boy
  • Away
  • New Member
  • New Member
More
05 Sep 2026 00:33 #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.

  • tommylight
  • tommylight's Avatar
  • Away
  • Moderator
  • Moderator
More
05 Sep 2026 01:00 #349333 by tommylight
Replied by tommylight on topic External ESTOP trouble

# --- 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.

More
05 Sep 2026 02:34 #349337 by rodw
Replied by rodw on topic External ESTOP trouble
There are a number of applicable standards. I am no expert on them. Aside from local country specific standards like AS4024 here in Australia, International standards include ISO 13850, IEC 60204-1 and IEC 60947-5-5
on a home machine, often a 2 pole estop button is used. one pole cuts mains power to spindle and stepper motors and the other is low voltage circuit wired to linuxcnc to tell the controller estop has been pressed. But this does not safely bring heavy machines to a stop so it gets more complicated. Also its not helpful if you have the control panel at one end of a plasma table and you want to place an estop at the other end where the console is. One approach might be to run a pull rope right around the table but running mains power to another distant switch clearly adds its own safety risks.
I suspect estop-latch predates the standards but it does allow you to create an estop chain in software. It is somewhat complicated to understand initially and I find its best to draw it on paper as a series of boxes (one for each estop-latch) each of these boxes has an OK-out pin which needs to connect to the reset pin on the next in the chain with the last OK-out connected to iocontrol.emc-enable
Each latch will have either a fault-in or ok-in pin attached to the estop button or door latch or whatever that needs to be safe before the machine will start. Finally, the iocontrol.user-request-enable pin is attached to the reset pin on the very first latch. So when the user requests the machine to be enabled (usually the orange button in axis), a short pulse is sent to the first reset and if all faults are clear, the sigal to start the machine arrives at linuxcnc. The beauty of this approach is that you can just as easily use a momentary push button to act as that reset signal if you wish.   

Taking that into the standards says the controller can have no part in the safety circuit, and every sub-circuit and every contactor needs to have  dual redundancy so a fault will not trigger anything and both circuits need to work before something's enabled. Also if there is a power outage, the machine cannot become live again when power is restored. You need to press that reset button. Also every contactor and every relay needs to be a force guided one where a non conducting pin is forced between relay contacts to guard against them welding closed from an arc.. Aside from that the safety circuit or safety relay does the same thing as estop-latch. It won't enable the machine until every component being monitored is safe.

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

Time to create page: 0.094 seconds
Powered by Kunena Forum