Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: ftomazz on November 13, 2011, 02:09:10 PM

Title: Do not allow any movement until servo drives ready
Post by: ftomazz on November 13, 2011, 02:09:10 PM
Hello.

My machine uses servo drives that output the ready state. For example at initial power up the drives are still not "ready". During a crash the same will happen and they will be "not ready" again. This works and outputs a led to mach to display on the screen.
My question is how can I prevent the DRO moving if any of the servos are not ready. For example at start up, I press the reset button, then the drives are "booting", during that time if the user presses any jog key, the DRO changes and no movement is done (as the drive is unready). I have check the inibit axis button linked to a brain but appears not to be working.
Any ideia?
Title: Re: Do not allow any movement until servo drives ready
Post by: Hood on November 13, 2011, 02:17:53 PM
I have fault signals from my drives which I tie together (with other conditions) in the ladder of my PLC which then inputs that as an E-Stop signal to Mach. So unless my drives are out of fault condition then I can not get Mach out of  reset. It also means if any of my drives (axis or spindle) fault then so does Mach.
I am not sure how your drives work however as you mention reset boots them? I power my drives via my E-Stop button, it pulls in contactor (amongst other things) which power the drives.
Hood
Title: Re: Do not allow any movement until servo drives ready
Post by: ftomazz on November 13, 2011, 02:50:16 PM
No PLC here, so must be brains.
Clicking reset makes the charge pump on that outputs signal to enable the drives.
Title: Re: Do not allow any movement until servo drives ready
Post by: Hood on November 13, 2011, 02:59:06 PM
Do your drives take a long time to enable?
If you are waiting for a ready signal when drives have to be enabled then its not going to be so easy as the only way I can think of is to use the Input 1 inhibit function. Problem with that is you can still Jog as it only inhibits code from running. I did something similar a while back, looking at the state of Input 1 and shutting off the Jog control if it was active, that way no jogging or code could run but I much preferred the way I do things now.
BTW would the enable signals not be a better way to enable your drives?
Hood
Title: Re: Do not allow any movement until servo drives ready
Post by: ftomazz on November 13, 2011, 03:08:31 PM
Not so much time, but probably 6 seconds.
The issue is that looking at the state of the drives would 1st prevent jog movements and 2nd inform and stop mach3 (for example during cutting).
Input1 + disable jog, can probably be a solution. Must take a look on it.

--> BTW would the enable signals not be a better way to enable your drives?

sorry, do not undestand this one. What enable signals?

thank you
Title: Re: Do not allow any movement until servo drives ready
Post by: Hood on November 13, 2011, 03:13:41 PM
You have enable outputs from Mach. You can use 1 to enable all the drive (by paralleling it)  or use as many as you wish, there are 6.
They are worked via the reset condition of Mach, ie Reset not flashing and enables are active, reset Flashing and enables not active.
Hood
Title: Re: Do not allow any movement until servo drives ready
Post by: DamonJones on November 13, 2011, 04:29:55 PM
I had the exact same issue a while back using GECkO drives and servos. I know the lag you are referring to and went around and around with it. I finally came up with a set of complicated brains to fix the issue. I now have a custom LED under the start button that lights for 5 sec after any of the axis' are enabled for any reason. The brains are very complex and too a huge amount of time to develop but work very well and so far have been error free in all conditions. I had an old post on here about the problem but never posted the brain files. Let me get the files up to my server and I'll post a link for them.

The brains use a number of user leds however only the final output one really needs to be on screen. I have 4 axis' XYZA setup but the code could be copied to add more if needed. Each axis has it's own brain and then one for the status LED. Basically it's a dwell for the drive enable.
Title: Re: Do not allow any movement until servo drives ready
Post by: DamonJones on November 13, 2011, 04:38:56 PM
Here are the files:

http:\\www.phokis.com\video\EnableX.brn (http://www.phokis.com\video\EnableX.brn)
http:\\www.phokis.com\video\EnableY.brn (http://www.phokis.com\video\EnableY.brn)
http:\\www.phokis.com\video\EnableZ.brn (http://www.phokis.com\video\EnableZ.brn)
http:\\www.phokis.com\video\EnableA.brn (http://www.phokis.com\video\EnableA.brn)
http:\\www.phokis.com\video\EnableLED.brn (http://www.phokis.com\video\EnableLED.brn)
Title: Re: Do not allow any movement until servo drives ready
Post by: DamonJones on November 13, 2011, 04:48:45 PM
A couple of notes on the brains. First each drive (axis) has it's own enable output. X=enable1, Y=enable2, Z=enable3, A=enable4. This allows each axis to be enabled separably and each will delay the movement of the of itself without effecting the other axis'.

Each axis brain also has it's own user led. These can be added to the diag screen if desired but is not required.

The EnableLED brain give a status LED if any of the axis' are in delay. This LED is the one you want on screen.

I hope this helps.
Title: Re: Do not allow any movement until servo drives ready
Post by: ftomazz on November 13, 2011, 05:05:51 PM
Thank you Damon, but I already have the leds on the screen, one for each axis also (led says servo ok or not).
What I am after is to control mach in a way that if any of the leds are off (any drive not in ready state) mach would not allow any movement (jog, mdi, or run file).
Neverless I will take a look on your brains ...

Will mach ver4 have convencional ladder ?

Filipe
Title: Re: Do not allow any movement until servo drives ready
Post by: Hood on November 13, 2011, 05:40:58 PM
Will mach ver4 have convencional ladder ?

Filipe
Dont think so, I have been wanting ladder logic for a while but Brian doesnt seem to like it. He has what he says is a better way that is much more powerful but so far I dont know much about it :(
I am hoping its as easy as conventional ladder logic and not just easy for programmers ;D
Hood
Title: Re: Do not allow any movement until servo drives ready
Post by: DamonJones on November 13, 2011, 05:57:13 PM
You should be able to use the same logic without all the complex brain then. I did not have the option of knowing my drives were not ready. Create a brain that watches the LED and uses the toggle axis on commands. The problem if I remember is that the toggle commands do just that, toggle to the opposite state it currently is in. So the logic would need to know what the current state is. There was not a function to turn it off or on directly. My guess would be to use your enable line and your user led to define the current state and toggle if required. So if enabled and in fault toggle axis (assumes it was on). It's been a while sense I was in the brain editor so I'm just giving ideas here.
Title: Re: Do not allow any movement until servo drives ready
Post by: BR549 on November 13, 2011, 06:11:46 PM
WHy not chain all the drives as to the drive good signal and feed it into the estop in Mach3. Until the drives all go good Mach3 cannot come out of Estop so it cannot be made to move.

Just a thought, (;-) TP
Title: Re: Do not allow any movement until servo drives ready
Post by: DamonJones on November 13, 2011, 06:15:17 PM
WHy not chain all the drives as to the drive good signal and feed it into the estop in Mach3. Until the drives all go good Mach3 cannot come out of Estop so it cannot be made to move.

Just a thought, (;-) TP

I my setup at least you can't enable the drives while in estop. So you could never get out of estop.
Title: Re: Do not allow any movement until servo drives ready
Post by: Hood on November 13, 2011, 06:18:39 PM
Thats more or less what I do Terry, problem is he is relying on Mach to enable the drives before he can get the signal and I presume is using the chargepump off in reset mode so drives would never get enabled and thus no ready signal. I power my drives from my E-Stop chain and watch for a fault output from my drives rather than a ready signal.
Hood
Title: Re: Do not allow any movement until servo drives ready
Post by: DamonJones on November 13, 2011, 07:22:11 PM
One thought on this issue. Is your drive ready signal really a fault condition or a separate signal line? I assume it is based on your explanation but wanted to be sure as they need to be handled in completely different ways. A drive fault should estop the machine. Mach3 is open loop so no matter how quick you respond to a drive fault your actual position and Mach3 DRO's will be off if the axis was in motion during the fault. Just wanted to make sure we are on the same page.

An actual drive ready signal line not used as a fault line then can be handled with a brain. Basically you toggle the axis' off when you send the enable signal to the drive and toggle back on after the drive ready input comes. This will also toggle again on a state change on the drive ready line from that point.

That all said there is merit to Hood's method of hardware enabling your drives. I actually do both just in different ways. My hardware estop cuts the AC to the DC power supply running the drives. Mach3's software estop (Reset) disables the drives using the enable line on the drives. I also tie back in the drive faults to mach3's software estop as well as the hardware estop. Basically you can't Reset Mach3 while in hardware estop. That's just how I chose to do it. My thought was if I hit the estop button I don't want any power going to the drives just in case the drive has failed.
Title: Re: Do not allow any movement until servo drives ready
Post by: BR549 on November 13, 2011, 08:34:41 PM
I do it as Hood does the system estop is a seperate circuit that kills power to all drives and signals Mach3.  I would never allow Mach3 to software control the actual estop function.

(;-)TP
Title: Re: Do not allow any movement until servo drives ready
Post by: DamonJones on November 13, 2011, 10:31:47 PM
Do you enable the drives from Mach3?
Title: Re: Do not allow any movement until servo drives ready
Post by: ftomazz on November 14, 2011, 01:46:41 AM
I enable the drives with the charge pump, this is drives will be ready after the reset is unchecked, and mach is ready. If I reset mach because of the servos status mach will not ever stay off reset. This would be a safew procedure if Mach was able to do what I want - only axis movement if a condition is set.
The toggle axis can be a thing thing try. Thank you on that.