Machsupport Forum
Third party software and hardware support forums. => Galil => Topic started by: Aeroshade on February 07, 2011, 06:35:35 PM
-
Hello all, I was having some issues with my DMC-2162 playing nice with Mach3. I have gotten through a few of the problems, with help from "battwell" and "smurph", thanks again guys.
OK, now it seems that the DMC and Mach3 are talking to each other. I have set-up my A-axis (rotary axis), and it works sweet!! I moved on to the X-axis and here is where I ran into a problem.
I enabled the X-axis and noticed the DRO's were reading reverse. I went to config>ports and pins>motor output, and enabled "Dir LowAtive" for the X-axis, which switched the direction of the DRO's. I went to Motor Tuning and set my velocity and acceleration. I ran the motor and I could tell I needed to adjust my PID's a little. Plus I noticed that the flange that bolts the servo motor to the machine was out of index. I had to take the motor apart to index it correctly. I got it back together and went straight to "Motor Tuning", and the axis ran away. I went back to config>ports and pins>motor output to check that the "Dir LowAtive" was still enabled, and it was. Now either with the "Dir LowAtive" enabled or not the DRO's always read backwards.
I tried to see if it was just an X-axis thing, but I tried to reverse my A-axis and the DRO's don't change.
Should I try reinstalling Mach3? I reloaded the Galil plugin with no effect.
Any help would be GREEEEEAAAT!!!!
Aero
-
A motor running away most likely means that the encoder is not following the direction of the motor. Swap the A & B signals at the ICM and see if your runaway stays home.
Once you get your motor staying home, then you can reverse it if necessary in the plugin config by selecting "servo revesed" for that Galil axis. And get your DROs reporting correct direction with the Ports and Pins.
Steve
-
OK, I uninstalled Mach3 and reloaded it, same problem. So I switched the encoder wires and everything looks good with the DRO's. I was resetting my A-axis and now for some reason I can do in the plus direction (arrow key up) but when I go in the negative direction (arrow key down) the A-axis wont move. I click out of "Motor Tuning" and at the bottom of the screen I get this error:
Mon - 16:59:47 ---Galil Error: 22 Begin not possible due to limit switch.
I have my switches all set-up like they were before I reinstalled. A only has a home switch... no limit switches.
Any ideas would be great :)
Thanks,
Aero
BTW I haven't tried the X-axis yet... I like to get one going before I mess with the others.
-
OK, here is the GalilDebug.txt. I still can't get the A-axis to move in the negative direction.
Thanks,
Aero
-
If you will go to the Mach Diagnostic screen, you will see that a limit switch has been tripped.
And that error is a Galil error! So you have an issue with the Galil thinking that a limit is tripped for your Galil D axis. When a limit is tripped, you can only move the axis in the direction that would take it off the switch. The "22 Begin not possible due to limit switch." error is axis specific. Meaning that the Galil does indeed see an active limit switch for your Galil D axis (the one you were trying to move). It is not a global error where another axis limit switch would keep your D axis from moving. I suspect a wiring issue. Did you change the polarity of LSCOM?
Any error message that begins with "Galil Error:" then a number and then a description is a Galil message. You can look at the Galil user manual to see what that error is and what to do to correct it.
Uninstalling Mach and re-installing is not ever going to help anything. :( The program does not corrupt that easily. In fact, it just increases your chances of overwriting some setting that you previously had correct.
I can report that your AC and DC values look much better!
Steve
-
Man oh man, I think this Galil card is going to KILL ME!!! How can something like that happen? All I did was switch the encoder wires for X. I don't even have limits for the A-axis!! :P
I will look at it tomorrow I guess... That's IF I go to work!! LOL
Aero
-
if you dont have limits, link them out on the galil icm,for each axis so it thinks limits are fine anyway.
if you add limits in future you just put limit where link is so you know it wont be an issue.
-
So I found out that my lube level switch was hooked to RLSW, and my tool mag forward switch was hooked to FLSW :P... I was getting that error because I was out of lube oil!!! LOL Anyway I got the wiring straighten out. Now I'm going to fine tune my PID's for the X-axis.
Aero
-
OK, I have successfully set-up X, Y, Z and A-axis!!!! Now I'm onto my spindle. I have a Yaskawa Varispeed spindle controller. It has a servo motor type motor with an encoder. It receives an analog +/- 10v command. The machine has a high and low gear. I have a .cbk file from Camsoft that worked really nice, if anyone can steer me in the right direction for setting this up that would be great!!
Here is the Spindle Gear section of my old .cbk file:
[[SPINDLE GEARS]]
'Gear change on spindle
\600=s ' store spinde speed to variable
IF \600<=900 THEN GOTO :LOWGEAR
IF \600>=901 THEN GOTO :HIGHGEAR
:HIGHGEAR
\625={\600*1} ' calculation to find correct spindle speed for high gear.
'can use instead the SPINDJUST ;400 command to set base spindle speed for new gear
SPINSTOP
#62=1 ' change physical gear solenoids
SLEEP 1 ' wait for soleniods to engage
SPINFORWARD \625 ' spindle on
BUTTON1 IN
BUTTON2 OUT
SAY SPINDLE ON
EXIT
:LOWGEAR
\624={\600*5.46} ' calculation to find correct spindle speed for low gear.
'can use instead the SPINDJUST ;400 command to set base spindle speed for new gear
SPINSTOP
#63=1 ' change physical gear solenoids
SLEEP 1 ' wait for soleniods to engage
SPINFORWARD \624 ' spindle on
BUTTON1 IN
BUTTON2 OUT
SAY SPINDLE ON
EXIT
Thanks,
Aero
-
I have been watching the videos, and I think I got a handle on it. I will post the macros I come up with.
Aero
-
everything is in mach already to run a spindle!
just wire it to motor command output.
use the spindle speed button on screen to operate or m3 m5 commands in gcode. set speed on screen or through g code
you only need macros if you need to physically automatically change gears etc or run from external buttons
i use the analogue inputs on galil to give me load, max load readings on the screen too (requires a small macro) something to do when the machine is up and running ok.
-
OK I still haven't nutted up for the spindle :P... But I have almost all my inputs mapped, I do have all my outputs mapped!! I have a external tool unclamp button. It's on a daughter card so I have to assign it to an LED. I want it to trigger the tool unclamp output. How can I go about doing this? I was going to use config>system hotkeys, but those are only for OEM triggers.
Any help would be great.
Thanks,
Aero
-
WooT I figured it out!!! I wasn't sure if "Brains" had to be called on like macros.... I guess not :)
Aero
-
I'm working on my tool changer macro, I need to find out what the command is to stop the macro and error the controller. If I have T5 in the spindle and I call out for a T0, I want the macro to message that T0 is invalid and to stop the macro and maybe E-stop the machine.
This is what I have so far:
Sub Main ()
OldTool = GetOEMDRO (1200)
NewTool = tool
If NewTool = OldTool Then
Exit Sub
End If
If NewTool = 0 Then
MsgBox("No Tool Number Given")
ActivateSignal(EStop)
Exit Sub
End If
If NewTool < 0 Then
MsgBox("Invalid Tool Number")
ActivateSignal(EStop)
Exit Sub
If NewTool<0 Then
NewTool = (24 + NewTool)
End If
If NewTool>0 Then If
NewTool <=12
I have a 24 tool, tool changer and I'm setting it up for fastest route to next called out tool. I snagged that OEMDRO thing from another TC macro... not sure if I will use it or not... just a filler :P
The line I'm asking about is " ActivateSignal(EStop)" will this work? Or is there another way to do it?
Thanks,
Aero
-
Dobutton(21)
This is the code for pushing the EStop
Aero
-
use something like this
maxtool=24
if tool<1 or tool>maxtool then
message"tool number not available"
end
end if
also grab tool diameter and height from tool table and check these are not 0.
-
This is what I came up with for my tool changer. Works nice :) My machine has a 24 tool magazine. The Z-axis goes home and the tool mag. moves under the spindle. The tool unclamps and the mag. does down. The mag then moves CW or CCW, depending on shortest route to next tool. The mag then moves back up , the tool clamps, and the mag moves to it's back position.
Some of the inputs and outputs:
OUTPUT2 = Tool unclamp
OUTPUT3 = Magazine Forward (Moves mag. under spindle)
OUTPUT4 = Mag. Down
OUTPUT5 = Mag CW
OUTPUT6 = Mag CCW
OUTPUT10 = Orientates the spindle for a tool change
OEMTRIG8 = Mag. Back switch - Input
OEMTRIG9 = Mag. Forward switch - Input
OEMTRIG10 = Mag Up switch - Input
OEMTRIG11 = Mag Down switch - Input
OEMTRIG12 = Mag Position counter switch - Input
OEMTRIG14 = Tool Clamped switch - Input
OEMTRIG15 = Tool Unclamp switch - Input
-
just had a look at your changer macro... a bit long winded but heh if it works dont fix it.
one thing wortyh adding if your in a waiting loop is a get out clause.
start the loop with
if isestop() then
end
end if
that way if your switch never closes your macro can be stopped instantly by pressing estop rather than constantly looping and freezing mach up.
also worth adding sleep(10) after commands to ensure they get used and not overlooked-gives mach more processing time while in macro too.
after any motion command use
while ismoving()
sleep(10)
wend
to ensure they complete before anything else happens
hope those few pointers help
i just wrote macro for this
http://www.youtube.com/watch?v=oHnvQ1TuFI0
-
OK, so I have all my A-axis working good, and I have my tool changer working nicely. Now I'm messing with the spindle. I have a Yaskawa Varispeed spindle drive. My spindle has an encoder. I set the plugin up so that my spindle is on "E". And I have "Spindle has encoder" checked. The counts I have set to 4096 and "accel Revs/Sec set to 0. The motor type for "E" is set to servo. Under config>Ports and Pins>Motor outputs I have the spindle enabled and nothing else checked or changed (0's across the board). Under Spindle Setup I have "Relay Control" unchecked (I have a relay I have to turn on for Spindle Forward, OUTPUT#1). I put Output 1 in both M3 and M4, I only really need it on for forward but Mach wont let me choose 0. I have, under "Motor Control", "Use Spindle Motor Output" and "Step/Dir Motor" checked. Under "Special Functions" I don't have anything checked.
I can get the spindle to start but it goes to full speed, even if I put M3S1. I'm not sure what I'm doing wrong.
Any help would be great!!
Thanks,
Aero
P.S. It worked good in Camsoft, so I know the Galil card is talking to the Varispeed.
-
Here is my Galil debug.
Aero
-
Also when I go to Motor Tuning and try to run it, it locks Mach3 up.
Aero
-
The spindle in the Galil plugin uses a +-10 signal (just like a servo drive) when an encoder on the spindle is specified. If your spindle drive is 0 to 10v, then there will be issues reversing speed.
If your spindle runs away, then swap the A & B encoder signals and try it again. In the Galil, we use the JG command to control the spindle speed when there is an encoder on the spindle. So it's operating like a servo, which requires that the encoder signal track the correct direction of the motor. Otherwise, the following error increases and the PID loop ramps the voltage up to try and decrease the following error. So if the encoder tracking is backwards, the following error always increases.
Steve
-
OK that was a good idea, when I read what you said I was like DUH!! :P Anyway I switch the wires and now it goes forward and reverse, back and forth getting faster the longer I leave it on. I disabled the M3 and M4 relay and edited my m3 macro to turn that relay on.
Aero
-
BTW the spindle is +/- 10v
Aero
-
You will want to set your spindle acceleration to something other than 0. That may be why it gets faster as you leave it on. It's simply taking forever to reach the target speed.
Steve
-
I put 50 in the accel, but it doesn't seem to change anything. And also when I have the spindle on I don't see any RPM in the "Spindle Speed" window on the first page.
Aero
-
OK, I set the PID's in the Galil to 0. Now it turns REALLY slow, no matter what m3s I put in.
Aero
-
If the PID is good, the encoder counts are correct and you have the accel value set, then all should work. It's really as simple as doing:
ACE=<accel>
DCE=<accel>
JGE=<cps>
BGE
from the Galil terminal. Which is exactly what the output is if you will take a look at your GalilDebug.txt file that you posted. The only problem I saw was there was no accel value set. So get it functioning from the Galil terminal and then plugi the numbers into the plugin.
The accel/decel value is in rev/sec. which is encoder counts/sec. AC and DC values are in cnts/sec^2.
Steve
-
I just got off the phone with Yaskawa, and that Varispeed is 0-10v. I have an output that is for spinforward, so I'm assuming that when that is on it is CW and when it's off it's CCW. Going to test this soon. I will let you know what I find out.
Thanks,
Aero
-
In that case, you can't use the encoder. So uncheck that box in the plugin config. The plugin will then use the OF (offset) command to drive the analog voltage from 0 to 10 volts on E axis. You would then need to configure outputs to Start/Stop and Fwd/Rev the VFD.
To sync the analog out, apply 10v to the VFD and read the RPM of the spindle. Then, load that RPM value into the Mach Spindle Pulley config. Do this for each pulley set that you need. (You may note have but 1) Then, the plugin can calculate the correct voltage to output for any given speed.
Steve
-
So it wont read the encoder? I wont be able to do ridged tapping?
Thanks,
Aero
-
Hi I am kind of new to MACH3 , would appreciate any help on the following problem with Galil DMC-2143 board
Problem statement : Unable to get MACH3 to talk to DMC-2143
When I press the Reset button on MACH3, I get a message " Galil Card not connected after reset "
Pressed Reset button again, I got message "Estop Button Pressed"
This is how I configured my PC
Windows 7, 64 bit on AMD Phenom II processor
Crossed network cable used between PC & Galil card
Smartterm running in the background
Window registry updated using Smartterm
Galiltools run fine
IP set to static IP
Galil plugin installed successfullly
Did not install Parallel Port driver
Checked Galil.dll is in Mach3/plugins directory
MACH3 acknowledged seeing the Galil card under Configure Plugin
Question : Where is the Estop Button ? Is it a hardware switch from Galil ?
The message in MACH3 said that it could not connect to Galil so I assume it is not a hardware problem
If it is a button on MACH3 please help me locate it
Maybe it is something else that I overlooked, much appreciate any help you can offer
Thanks
Pardon my ignorance being new to MACH3
-
Did you go to config>config plugins ?
-
OK never mind, just read through your WHOLE post :P
-
Did you click on the yellow "CONFIG" button under config>config plugins? That is where you set the plugin up. One the first tab there is a drop down that should have your Galil card in it.
Aero
-
The reset button is the e-stop, so when you press the reset button the first time it tells you that the Galil card isn't being seen, the second time you press the reset button it is now in e-stop.
-
OK, I turned off the "Spindle has encoder" in the Galil plugin. I put my spinforward output in the M3 macro. I'm still not getting the right movement from my spindle. I noticed in the Galildebug file that OFE=-1.099. Should it be positive?
Let me list this out for you. I have 5 outputs that are used for my spindle:
The first output is the spindle forward. This connects to the "FWD" connection on the VFD. (The manual shows a "FWD" and a "REV", it can use either one. If "FWD" is active then the spindle runs CW, if "FWD" is inactive then it runs CCW. I don't have anything hooked to "REV").
The second output is "SSC" Soft Start Cancel. The manual says that this is used to shorten the Accel and Decel, mostly for ridged tapping.
The third and forth output are low and high gear. I have a solenoid that shifts the gear box from high to low gear. The low gear output runs two relays, one for the low gear solenoid and the other relay goes to the "LGR" on the VFD. (According to the manual this is used for gear ratio within the VFD, to optimize control).
The fifth output is spindle orientation.(This turns on and off the spindle orientation).
In my M3 macro I have this:
ActivateSignal(OUTPUT1) 'Spindle Forward
Sleep (100)
ActivateSignal(OUTPUT8) 'Low Gear (also changes state of gear ratio in the VFD)
Sleep (100)
DoSpinCW()
That enables all the outputs I need to check the spindle (I have checked and when I issue a M3S100 the outputs come on).
I have noticed that if I enable just the spindle forward output the spindle spins at the same speed as if I issue an M3 (Which is close to .5 - .75 RPM).
I'm at a loss here on what to do next. Please help :)
Thanks,
Aero
-
I did some snooping on my ICM-2900 and noticed I wasn't getting any volts coming out of the "MOCMDX", but I was from the "PWMX" (5v DC @ M3S500). The Galil application .pdf say that "PWMX" is for "X axis pulse output for input to stepper motor amp". Should I have the command hooked to the "PWMX"?
Thanks,
Aero
-
You need to have the stepper jumper removed from the E axis on the Galil and the E axis motor type set to "servo" in the plugin configuration. Check that and then do this in the Galil terminal (do not enter the //<comments> I put in, just the commands):
MTE=1 // set axis E to servo motor
KPE=0 // set axis E PID to 0
KIE=0
KDE=0
OFE=9.998 // command 10v to axis E MOCMD
This should get you +10v between MOCMDX and GND.
OFE=5.0
Should get you +5v, etc...
The plugin is not programmed to do rigid tapping on anything but a servo style input. The reason is that we use the Galil gearing to gear the spindle to the Z axis axis. Meaning Mach has no control over the spindle while the rigid tapping operation is in progress. When the Z axis reaches the bottom of it's movement and starts back up, the spindle needs to immediately change direction. This requires a servo style +-10v on the spindle axis.
Steve
Steve
-
OK, well that sucks a bit. I'm just asking this question, don't take it that I'm complaining please :)
This machine is a Republic Lagun VMC 4824 that was made in 1998. It came with a Vickers A2100 controller. The only thing I have changed (besides dumping the controller) is the amp drives. It was capable of ridged tapping ,and did very well, for the past 13 years. Is it the Galil controller that is making it that I will not be able to ridged tap? Camsoft claimed to be able to ridged tap with my VFD, not sure if that was true or not, I'm not a huge fan of Camsoft :P
Anyway just wanted to ask. Thanks for the advice and I will have to talk to my boss tomorrow about the options.
Aero
-
you should be able to set the yaskawa to +/-10v in its parameters. have you fully checked its manual? yaskawa are normally pretty comprehensive in what they can do
if it was rigid tapping before it should be able to do it again!
have you tried applying a small reverse voltage to it? see if it runs reversed?
-
Well thanks to battwell for making me look harder into the VFD. I know now that it DOES see +/-10VDC!!! I tested this by going into GalilTools and typing OFE=5, the spindle went CW, then I set it to OFE=-5 and the spindle went CCW( +5VDC with OFE=5 and -5VDC when OFE=-5) Anyway, even though that all works I still can't get movement, even from GalilTools with the JG command. I unplug my spindle command from the ICM and test the voltage when I type JGE=5000, it ramps to 10VDC (do to the fact the encoder isn't moving). But when I plug the spindle back in and command JGE=5000, I get 10VDC but the spindle wont move :(
I noticed also, in the VFD manual, that my Spindle Forward relay must be on for movement. If you remember I said that when ever I enable the "spindle forward" output the spindle rotates at around .75RPM. could this be a problem with Galil commanding it to move... when it is already moving? I thought that might be the case so I put in my M3 and M4 macro to turn that output on right before it makes a move... but it still wont move.
Any help would be great,
Aero
-
I bet there is still a VFD config issue. What is the model number of the VFD? I'll see what I can dig up.
Steve
-
http://www.yaskawa.com/site/DMSpindle.nsf/DocID/86256EC30066036986256CA8005BB954?OpenDocument
Aero
-
with mach on and commanding a spindle rotate. ie m3 s5000 etc
open smarterm
use tools/ view data record
check motor shows as on.
with my 2280 i had to send command she using the notifyplugins feature in mach.
for some reason the plugin just wouldnt turn it on. that was my work around. added to my m3 script
also added to m5 moe ofe=0 to turn it off
do you have the run command ( fwd) being sent as an output to allow the vfd to go into run mode- should show run light on yaskawa drive.
-
all sorted? youve gone quiet...lol
-
all sorted? youve gone quiet...lol
Sorry I have been on the phone with everyone it seems :P
I called Yaskawa (the VFD maker) and the tech explained to me that when the VFD sees 1v on the signal wire it goes a certain RPM, say 500RPM. The VFD sees that as a speed reference, then it takes care of keeping the spindle motor at that RPM, cutter load etc.. So setting it up as a JG (aka servo) isn't going to work, I have played with all the GalilTools settings (PID, FV etc.) and I can't get control over the drive. Every time Galil tries to loop the position error by adding or subtracting volts the VFD think the Galil want it to go slower or faster!!
So I think for now I'm out of luck for ridged tapping, until something is changed either in the Galil or the plugin (which I would think it would need to be Galil, since the way they handle the gearing).
For Smurph: Is there anyway you can add the SH command for the "E" drive also? I see in the debug that SH is only used for "ABC and D". I have the spindle RDY (aka amp enable) hooked up to the amp enable on my ICM-2900, but without that in the plugin it wont enable my spindle.
Many thanks to all,
Aero
-
thats how its supposed to work.
it needs to catch up it goes faster.
getting ahead it goes slower.
but its done at extemely small increments (0.0003volts)
as long as it has acceleration set fast in the drive it should be instantaneous.
check what the acceleration is set at in the drive, deceleration also.
is the analogue to the vfd on the speed or torque input?
if you want to do rigid tapping you may have to hook the spindle to another axis too, switched on only for rigid tapping. that way it could be interpolated, unless the interpolating axis is geared to move following the encoder count of the spindle? not sure which method would be recommended. is there a z pulse available on the spindle encoder for a timing mark?
wish i had a mill to try this out!
-
to see if the vfd will be suitable for rigid tapping try this.
connect it to an axis (x y z etc)
set the pid up in the galil for the vfd and see how accurate you can get it to move as an axis following its encoder count
-
OK, I have decided to leave the spindle alone for now (going to run it with the OF).
Now I'm adjusting my backlash. I have around .0009 on my X-axis. I go into config>backlash and set X backlash to .0009. I enable backlash and restart Mach. I then home my X-axis and check the backlash again. I get the same .0009 of backlash, I changed the X backlash to .005 and I see no difference. I have changed the backlash feedrate from 20%, 50% and 75%, no change. I have servo drives. What am I doing wrong?
I also got my MPG working. When I have the increments set to anything higher than .0001 the motors make a lot of noise. Is there anything I can do to make then smoother?
Thanks,
Aero
-
Backlash is not handled for external motion controllers. Only the printer port. Contact Galil for a firmware upgrade that will handle backlash and screw compensation. (They may charge for it, as it is an option when purchasing a controller from them.)
Steve
-
OK, I e-mailed my favorite Galil tech, I will see what he says. Thanks for the INFO :)
Aero
-
Well I got the e-mail back... $800 for the firmware, hope it works.
Aero
-
for $800 i think i might put up with a tiny backlash.