Custom Estop inputs
05 Mar 2018 16:06 #106960
by aleksamc
Custom Estop inputs was created by aleksamc
Hi all. I use MESA 7i76 card.
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?
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 or Create an account to join the conversation.
05 Mar 2018 21:55 #106986
by rodw
Replied by rodw on topic Custom Estop inputs
The estop-latch component allow you to chain various e-stop conditions together in HAL and will achieve what you want.
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.
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 or Create an account to join the conversation.
08 Mar 2018 08:12 #107100
by aleksamc
Replied by aleksamc on topic Custom Estop inputs
Dear Rod,
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.
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 or Create an account to join the conversation.
08 Mar 2018 08:34 #107102
by aleksamc
Replied by aleksamc on topic Custom Estop inputs
Please Log in or Create an account to join the conversation.
08 Mar 2018 11:57 #107108
by rodw
Replied by rodw on topic Custom Estop inputs
I'm probably not the one to guide you with a machine like yours but I will make some observations becasue I think you are worrying about things for no reason.
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.
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.
The following user(s) said Thank You: aleksamc
Please Log in or Create an account to join the conversation.
08 Mar 2018 12:43 #107109
by aleksamc
Replied by aleksamc on topic Custom Estop inputs
I use enable output as SON input of drives.
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?
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 or Create an account to join the conversation.
08 Mar 2018 13:01 #107112
by andypugh
Replied by andypugh on topic Custom Estop inputs
Do you have the option to put the limit switches inside the hard stops by enough of a margin to allow the machine to stop in time? Or would that lose too much travel?
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.
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.
The following user(s) said Thank You: aleksamc
Please Log in or Create an account to join the conversation.
10 Mar 2018 10:42 #107185
by aleksamc
For start, I use estop-latch for all my alarm signals. Thanks for that a lot.
Replied by aleksamc on topic Custom Estop inputs
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.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 or Create an account to join the conversation.
10 Mar 2018 15:33 - 10 Mar 2018 15:34 #107187
by PCW
Replied by PCW on topic Custom Estop inputs
If the drive can do a controlled stop on command, that's probably the best option ( since it would happen even if
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)
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)
Last edit: 10 Mar 2018 15:34 by PCW.
Please Log in or Create an account to join the conversation.
Time to create page: 0.094 seconds