- Posts: 566
- Thank you received: 0
Custom Estop inputs
I need to have in my cnc machine few estop inputs.
Input08 - "emergency estop" - standart external input. If FALSE then error. It will be run by button.
Input10 - "pressure low check" - input from lubrication system. If FALSE then Error.
Input11 - "Brake of motor not activated"
Input12 - "ServoDrive fault" - true (or false as I wish) then error.
1) How to make this inputs custom? If one of them will be activated, then to stop and make corresponding error message to user?
2) Is it possible, for example, in manual mode, when any program not running, to bypass Input10 and to move manually?
Please Log in to join the conversation.
There did not seem to be any examples of this I could find.
I use this on my plasma torch-breakaway sensor in the same way you want.
This thread includes my final complete worked example
forum.linuxcnc.org/10-advanced-configura...p-chains-and-latches
As for your input-10, you should be able to and2 your pressure low switch with one of the machine-is-on signals or similar. You might need to use not to invert signals.
Please Log in to join the conversation.
Your discussion abut estop-latches opens much more another questions for me.
First of all, we build weighty and speedy machine. It's will be servomotors there.
Thats why default functions of estop and limiting will cause this machine to great damage.
Imaging that on hight speed machine moves and touches limit switch. First of all, linuxcnc turns off enable signal from servodrives!, and all this vast mountain of iron and concrete without any brakes aspires to end of machine. It will sweep everything on its path and stoppers also and after that fall on the ground!
That's why I need to change logic of machine for estop and limits.
Does anybody know how to make such things:
1) limit maximum speed to some value near near some distance of limit switches.
2) estop and limit switches should not disable "Enable signal" to drives, but should first-of-all stop the machine (and after that if possible - after some time delay turn off drives). I thing simple stopping deceleration speed will be most effective. Disabling/enabling of drives should be only from software button on screen.
I suspect that all this needs is possible if instead of estop-latch - to use external pause-input-signal.
Who builds custom gui panels should know what signal/parameter meets to pause.
Please help me somebody for this questions.
Please Log in to join the conversation.
Attachment not found
Please Log in to join the conversation.
If Linuxcnc is disabling your drive signal on estop it will only be becasue you have told it to do that in your config.
There is a delay component that would let you wait a defined period after hitting estop to disable drives.
Your soft limits should be defined well inside your limit switches becasue limit switches should never ever be triggered in normal operation. If they've been hit, drive to your servos will stop and the machine should coast to a stop (hopefully before bad things happen).
In my experience, jogging to the machine limits triggers the deceleration according to the acceleration setting in your ini file.
I can't believe that ignoring hard limit stops is good machine design.
The Halui component contains pins to pause the program and many others.
I think you should think twice about overriding the default estop behaviour which has been developed from tried and proven procedures developed with machine and workplace safety in mind.
Please Log in to join the conversation.
If estop is triggered, then SON dissabled and motor lives on his own without electromagnetic field.
It's much better for me at first to stop motors and then only make any movements.
How to use delay component for estop?
Please Log in to join the conversation.
Whether to leave the drives enabled or not on e-stop is an integrator decision.
You might also need to check what your drives actually do when disabled. (They might open all switches to coast to a halt, they might short the motors for DC braking)
Sending an e-stop to LinuxCNC will result in the amp-enable pins going low. In your situation, as suggested, you might want a 1 second delay on the falling-edge of amp-enable.
linuxcnc.org/docs/2.7/html/man/man9/timedelay.9.html
But, if you are going to keep the drives enabled you need to make sure that their command input does the correct thing.
With velocity-mode drives you can probably ensure this by disabling the PWM or analogue output, but make sure that that goes to 0 when disabled. With torque-mode drives it is more difficult. Zero torque command won't really help.
Please Log in to join the conversation.
rodw wrote: The estop-latch component allow you to chain various e-stop conditions together in HAL and will achieve what you want.
This thread includes my final complete worked example
forum.linuxcnc.org/10-advanced-configura...p-chains-and-latches
For start, I use estop-latch for all my alarm signals. Thanks for that a lot.
I will check that, when my CNC will work. Thanks for this information.andypugh wrote: You might also need to check what your drives actually do when disabled. (They might open all switches to coast to a halt, they might short the motors for DC braking)
Please Log in to join the conversation.
the host computer running LinuxCNC crashed. )
If the drive cannot do a controlled stop and you want to stop a step/dir controlled machine at the
stepgens maximum acceleration setting, you can set the stepgens commanded velocity to 0, but _not_ disable
the stepgen. (setting the commanded velocity to 0 can be done by setting the PID enable false)
Please Log in to join the conversation.
