Machsupport Forum
Mach Discussion => General Mach Discussion => Topic started 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?
-
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
-
No PLC here, so must be brains.
Clicking reset makes the charge pump on that outputs signal to enable the drives.
-
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
-
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
-
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
-
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.
-
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)
-
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.
-
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
-
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
-
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.
-
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
-
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.
-
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
-
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.
-
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
-
Do you enable the drives from Mach3?
-
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.