View Full Version : Camsoft Installation help needed...


Darc
09-30-2004, 08:13 PM
Hi guys, I like the forum, good variety.
I'm attempting to adapt the Camsoft software/controller onto a Walter tool and cutter grinder, I've gotten the axis's to move (6 in total, but we will only use 5) there not moving the correct amount, I tried the gear/ratio but I think I messed it up, anyhoo's I don't really understand what counts to enter first (I put 4000) if I'm understanding this right any counts can be enter and after a bit of calculating you alter these until 1 inch on the display = 1 inch of movement?

Also with the home/limit switches, am I meant to set the variables (still a bit blurry) in the CBK file?

Other than these hiccups, which I expect many more, it is very easy to start using, little bit nerve racking when it first moved.

HuFlungDung
09-30-2004, 10:21 PM
The counts per inch will be related to how many revolutions your encoders make while the screws turn enough times to cause an inch of table travel. If you have 1000 line encoders, the galil interprets those as being 4000 counts per revolution, since it can discern the leading and trailing edge of each positive and negative encoder pulse.

So if your screws are 5 theads per inch, then the encoder pulses per inch would be 20,000. Any error in the calculation should be very noticable, as it will likely be something like 25% or 33% or 50% off.

Your cbk file is a backup or storage file of all your settings. It is not actually used while the gui is running, because the cbk is a compilation of many files.

The settings for your limit switches are in the card.ini file. I forget which directory that file is in, but you can look for it. However, I think before you edit that file directly, that you should be able to make all those settings while in setup mode, not actually running the controller.

Darc
09-30-2004, 10:59 PM
Hi Huflungdung,
Thanks for the reply, I think one of the main things I'm confused with is that we have a Galil 2162 card and 2 ICM 2900 terminals, I don't understand how for example we tell where parameter #3 (e.g only) is wired to e.g FLSW?
It's probably a dumb question.
We understand that on our first ICM 2900 X=X, Y=Y, Z=Z, W=A and on the second X=B, Y=C and Z will be our spindle (I think).

HuFlungDung
10-01-2004, 10:44 AM
Camsoft should be able to help you out with these details. I believe you can go into the diagnostics screen and get an interactive sort of screen of all the i/o points. If you have the limits wired up, simply actuating them should cause a square to light up or else go "off". The location of the input can then be determined.

intrusion
10-01-2004, 11:58 AM
Darc,

Please don't worry about if its a Dumb question, All question need an answer !

Looks like you are getting some pretty good help from HuFlung here. I have read HuFlung's comments in the past that have help me as well. I installed a CamSoft system and am very pleased with it. The installation went easy with their new manuals. HuFlung is correct about the Diagnostics screens and CamSoft will be able to help you out further if need be I am sure, their good people. CamSoft also released a new Installation Guide that explains pretty well about the I/O on the ICM's for limits, homes and others, have you read this section in the manaul yet?

Your description on the axis designation is correct, the spindle will be connected to the last axis in the coordinated system, so if the 6th axis is your last coordinated axis then the 7th axis will be the spindle if it is a +-10V variable drive spindle. However I am a bit confused as I think a Galil 2162 is a 6-axis card and you are descibing a 7-axis system ???. Are X,Y,Z,A,B and C axis all servo controled ??? What type of spindle do you have ???

Also if as you described parameter #3 is the forward limit switch on the 4th axis then you would connect it to FLSW on the ICM. Again check the Installation Guide for details on the limit switch designations as it describes two ICM's.

intrusion

Tarak
10-01-2004, 05:53 PM
Thanks Guys,
I've gotta agree Camsoft seems really good, everytime I email them they email back the same day, I certainly can't complain with there service.
Also we are running stepper motors, so we've got the the ICM wired to the Amplifiers, there is only a couple of wires each, I just thought it would be harder.
Also I thought if I press F1 SPINDLE START the motor light comes on and one of the OUT outputs on the ICM would have a +5v signal and obviously when you turn it off the signal would stop.

I had all axis moving together last night :banana: , oohhhh scary, as I said I've yet to get the counts right, the motors growl when changing direction, I assume that's what's causing it.

Darc
10-03-2004, 11:47 PM
Thanks guys, I'm slowly getting there.
I got home and went to reply to the post , I forgot I'd already registered a while ago as Tarak, so I hope I didn't confuse you all.
We managed to work out the limits, they work in the diagnostic screen but for some reason the limit indicator lights aren't lighting up, I had a look at the formula but I couldn't see what was wrong, it's weird because the limit warning is popping up , but this is obviously a small problem I can sort out anytime.
Also when an I change one of the stepper motors to suit degrees, it automatically enters 11.111111 into the counts, when I try to run it it won't, is this because I need to figure out the gear ratio and enter it in the ratio?
Kinda hard to explain what I mean....
After I thought about it on the weekend, the rotary axis work with it set as mm/Inch even though it needs to be degrees and the counts set to about 5102 work close for the linear slides, so I thought the only difference is the gear boxes, the linear slides don't have any...............I think.

I hope you guys don't mind me picking your brains.

HuFlungDung
10-04-2004, 12:15 AM
When I hooked up my limit switches, I had to invert the limit logic in the Galil card. I like to have current flowing through the switches until such time as they become activated by table overrun. The Galil default is just the opposite..I think they call it "active High", but there is a 50% chance that its the other way. :D Anyways, the command to do this inversion in galil-speak is CN -1. I put this in the Camsoft startup.fil as:
COMMAND CN -1

Whether this is what you need, I don't really know. I assume you've got them hooked up correctly. Of course, you must also write logic to turn on the appropiate limit light when the input is triggered.

What kind of gearing are you running your rotary axis through? How many counts does this stepper require per revolution of its own shaft? Are you saying you cannot alter the number entered, or it does a conversion for you?

HuFlungDung
10-04-2004, 12:24 AM
Here is an example of what I use for logic. I use a couple of camsoft "lights" to show that a limit has been hit. I also have a message written in one of the displays (properly called a label) about what has happened. This message is easier to see (and notice) than the teeny little "led" of the camsoft light.

~@~LIMITS.FIL
IF#6=1THENSTOP :LIGHT 9;ON;12 :LABEL2 Z- LIMIT HIT;12 :SLEEP 1 :LABEL2 Z-LIMIT HIT;14 :SLEEP 1 :LABEL2 Z-LIMIT HIT;12 :ESTOP :EXIT
IF#7=1THENSTOP :LIGHT 10;ON;12 :LABEL2 X+ LIMIT HIT;12 :SLEEP 1:LABEL2 X+LIMIT HIT;14 :SLEEP 1 :LABEL2 X+LIMIT HIT;12 :ESTOP :EXIT
IF#11=1THENSTOP :LIGHT 9;ON;12 :LABEL2 Z+ LIMIT HIT;12 :SLEEP 1 :LABEL2 Z+LIMIT HIT;14 :SLEEP 1 :LABEL2 Z+LIMIT HIT;12 :ESTOP :EXIT
IF#12=1THENSTOP :LIGHT 10;ON;12 :LABEL2 X- LIMIT HIT;12 :SLEEP 1 :LABEL2 X-LIMIT HIT;14 :SLEEP 1 :LABEL2 X-LIMIT HIT;12 :ESTOP :EXIT
IF#6=0THENIF#11=0THENLIGHT 9;OFF
IF#7=0THENIF#12=0THENLIGHT 10;OFF
IF#6=0THENIF#7=0THENIF#11=0THENIF#12=0THEN LABEL2 LIMITS CLEARED :SLEEP 1 :LABEL2 ;11

Darc
10-04-2004, 12:53 AM
Sorry I didn't explain myself very well, the limits are fine, we are/were having trouble with the outputs 1-8 and 8-16 (2 x ICM 2900), I think we have figured it out, we had it all ass about face. :banana:
I gotta say it's quite satisfying when it's starting to fall into place.
Also with your limit code I understand most of it, the main part I'm unsure of is the 12.
I think I'll get there, hopefully with a bit of help from you guys.

~@~LIMITS.FIL
IF#6=1THENSTOP :LIGHT 9;ON;12 :LABEL2 Z- LIMIT HIT;12 :SLEEP 1 :LABEL2 Z-LIMIT HIT;14 :SLEEP 1 :LABEL2 Z-LIMIT HIT;12 :ESTOP :EXIT


Thanks again......What do you do for a living HuFlungDung?

HuFlungDung
10-04-2004, 09:53 AM
The 12 is the color parameter for that command.

Darc
10-04-2004, 06:44 PM
So when I set an axis to degrees it automatically puts 11.111111 in the RATIO and sets the TOOL/DEGREE to 2, how can I easily work out the ratio of the gear box without pulling it apart?
I haven't worked out how to say move A90.00 and it will move 90°, I assume it is the gearbox throwing it out.

intrusion
10-04-2004, 11:52 PM
Darc,

This seems pretty easy. I did a key word search on DEGREES through CamSofts Search for Solution on the CNC SETUP screen and found the following question that explains how this is set.

QUESTION:
If we have a rotary table, how do I convert degrees into encoder counts?

For example, if one revolution of the table was 2000 encoder counts, then use the following formula to set the RATIO parameter in the CNCSETUP.EXE program for that axis: one degree=encoder counts/360. Be sure to set this axis to degrees under the Motion Settings in the CNCSETUP.EXE program.

So if you are getting 11.111111 then you must have had the original RATIO setting at 4000 counts, which would have worked out to be your number if you divided it by 360 degrees

4000/360 = 11.111111

Basically you need to figure how many counts or steps it takes to move your rotary axis one full revolution. I am sure you can do this without dismatling the gear box. You should use the Diagnostics Screens "Select Axis for Motion for Test" and select your rotary axis to move in the test, make the test move and try to measure how far your axis moved or at least went all the way around then adjust the RATIO until you move the distance you entered or it moved all the way around. This seems to work pretty well and is strait forward. After this I think you can perform the calculation then enter in the new RATIO for 1 degree and then perform angular test moves through the MDI screen

Hope this helps

intrusion.

Darc
10-05-2004, 12:03 AM
Thanks for the example of your limit file HuFlungDung it helped heaps................
I noticed the lights were not working because of the apostrophe at the start (').
I got rid of it and voilla.

HuFlungDung
10-05-2004, 09:24 AM
Thanks again......What do you do for a living HuFlungDung?

I run a small machine shop. Started very small like most hobbyists do, and liked it so much, I made it my occupation. That's what I had to do if I wanted to keep "just buying one more little tool to do this or that" ;)

Darc
10-08-2004, 01:11 AM
I gotta say it is a bit easier than I thought it would be, mind you I haven't done any of the cool programming yet.
Just want to make sure I understand this correct.
If I have a spindle that is not variable, it only needsto be connected to one of the outputs doesn't it, I think I confused myself with the part where you need to make the spindle the last axis e.g 5 axis machine, Spindle No.6.
Why do you need to tell the software this, I'm sure there is a logical reason.
Also I've noticed when my outputs are green the devices turn off, but when the are blank the devices turn on, what is the easiest way to change this?
And lastly, have I annoyed you guys enough yet????

Jim Cooper
10-08-2004, 09:00 AM
I even know this.

To reverse the I/O polarity enter a negative I/O card number type in CNCSETUP. If the spindle is only on/off and not variable theres no need to tell it there is a spindle, just use an I/O to turn it on or off.

Jim

HuFlungDung
10-08-2004, 10:12 AM
If you need to monitor spindle rpm, you'll need an encoder connected to the axis number your Camsoft is using. Then you can get rpm out of it, and into your GUI.

Tarak
10-08-2004, 08:25 PM
Thanks guys, for confirming my thoughts.
I'm really starting to enjoy playing around with it.
Next I've got to work out how to set up the home position for all axis, any suggestions for an easy way to do this?

Jim Cooper
10-09-2004, 10:32 AM
Tarak,

Copy one of the home routine macros provided in the Macro.Fil or Macro.Mac files. There are several pre-written different types there for 2 axes through 8 including homing for gantry style routers and plasmas. Some find the index marker and others hit, back off and reverse to hit again slower. You'll find notes in each if the macros that will show how to fine tune the distances, directions and speeds of homing each axis.

Jim C.

Darc
10-11-2004, 04:48 PM
I even know this.

To reverse the I/O polarity enter a negative I/O card number type in CNCSETUP. If the spindle is only on/off and not variable theres no need to tell it there is a spindle, just use an I/O to turn it on or off.

Jim

When you say enter a negative I/O card number type in CNCSETUP do you mean where you enter GALIL or not?
And when I change this I assume it will reverse all I/O polarity's?

Darc
10-11-2004, 04:58 PM
Don't worry I found out where you were talking about, as soon as I posted this I saw it, DOH........

Darc
10-11-2004, 05:49 PM
Just to be sure, we are running 2 ICM 2900's, I'm a bit confused what the settings should be in the AUXILLARY DIGITAL I/O, I tried setting them to -1 but I received heaps of errors regarding the setup of I/O's. Otherwise we currently have it set to 0.
Not sure if that's right though, from what I understand we don't have an auxilary PCI or ISA board installed, (there is no internal computer cards) we only have the GALIL 2162 and 2 ICM 2900's.
So I think I need to set this to 0, but I need to use a negative value to reverse the polarity's..............my head hurts........

camsoft
10-11-2004, 06:22 PM
Darc,

We do appreciate every ones help, but Darc you would be better off contacting us directly here at CamSoft.

The people here do have good intentions, but simply don't know what software/hardware you have. In your case you do not have an Aux I/O board and while the advice you received is correct for some systems we offer, it does not apply in your case.

The digital outputs are easy to reverse, but we need to know what made them backwards. As to provide you with the correct advice in one shot, please write to support@camsoftcorp.com and tell us if you inadvertently removed and reversed the RP3 jumper by 180 degrees on the motion board or you used the native motion command CN.

To quickly change the polarity , turn off power and remove and reversed the RP3 jumper by 180 degrees on the motion boards ICM 2900 Inter-connect module.

Tech Support
CamSoft Corp.
(951) 674-8100
support@camsoftcorp.com
www.cnccontrols.com

Darc
10-13-2004, 05:36 PM
Would someone be able to explain how the multifunction knob works, I've got 3 valves to control where the coolant comes out, but I'm not too sure how to set the parameters for the multifunction knob.
I've managed to set all the other buttons.e.g cw spindle1 slow,cw spindle1 fast,cw spindle2 slow etc etc.

Darc
10-13-2004, 06:09 PM
Also just a quickie with the needle guages, I've got 2 spindles running off the one guage, just with different needle colors, my only question is if I use 1 spindle at a time (either one) the needles work great, but if I use both at the same time and the same speed, when I turn then off (even though I have GAUGE 0:12 in the code for the off switch) it leaves a black line where the needles were, any ideas?

HuFlungDung
10-13-2004, 07:42 PM
The multifunction knob really doesn't "do" anything. It simply has a user definable number of "positions of rotation" that it can occupy. For each position of the knob that you command, you then write some logic that should execute. I think the number of positions of the knob are defined in setup.

RE: the black line: I don't know, but sometimes you might get screen overwrites like that if the video card is short of memory. It could be something else entirely, I'm just guessing.

Darc
10-13-2004, 08:02 PM
I think I can do the logic to be executed for each position, I'm just a bit unsure where I need to enter the logic for the variable \56?

intrusion
10-14-2004, 11:06 AM
HuFlung is absolutely right!

I use the multifunction knob more like a mode selector to raise my Z axis heads. It really doesn't do anything, except store the Nth position of the knob into the variable I assigned to it.

Then when I press a button for which head I want to raise it reads the KNOB variable to determine the current knob position and then in my Button I make a list:

IF \56=1 THEN MACHGO ;;0
IF \56=2 THEN MACHGO ;;;0
IF \56=3 THEN MACHGO ;;;;0

If you wanted to turn on coolant with an I/O relay you would just make a list like mine to check the knob position and use # of the relay number you want to turn on or off.
:boxing:

Darc
10-14-2004, 06:11 PM
Thanks guys, I'll try entering the logic into the coolant button logic.
Also on another front I've got the machine homing, using the minus limit switches as home switches, it works great (surprisingly) the only problem I'm having is the rotary tables are rotating to a slightly different point each time.
I'm having them home then rotate around **amount to line up parallel to the table, I tried moving the table 20mm then -20mm and it's spot on, so thankfully it's not losing steps.
Is there a recommended type of switch to use for a home switch? Something a bit more accurate than the switch we have on the machine.

Al_The_Man
10-14-2004, 06:27 PM
It is never good practice to use only a switch to home any axis, the preferable way is to use the switch initially and then use the marker pulse on the encoder. If you are using steppers without feedback and using only the switch, it can be unpredictable.
There are various native Galil routines that are specific to homing using a switch and/or an encoder, using a switch alone you should make the switch move off the switch and back on to it with a very reduced feedrate.
Al

Tarak
10-16-2004, 01:49 AM
HuFlung is absolutely right!

I use the multifunction knob more like a mode selector to raise my Z axis heads. It really doesn't do anything, except store the Nth position of the knob into the variable I assigned to it.

Then when I press a button for which head I want to raise it reads the KNOB variable to determine the current knob position and then in my Button I make a list:

IF \56=1 THEN MACHGO ;;0
IF \56=2 THEN MACHGO ;;;0
IF \56=3 THEN MACHGO ;;;;0

If you wanted to turn on coolant with an I/O relay you would just make a list like mine to check the knob position and use # of the relay number you want to turn on or off.
:boxing:

I removed the coolant on/off button so I can use only the multi function knob, I wrote the logic so in the 1st position the coolant pump is off and all the coolant valves are closed, the 2nd position the coolant pump & 1st valve opens, 3rd position coolant pump & 2nd valve opens, 4th position the coolant pump and the 3rd valve opens, 5th position coolant pump off and all valves closed. Confused yet?
Should I enter this type of code into the timer file? I'm just a bit unsure because I'm not pressing a button that needs to look at the variable \56.
I just want it to activate when the knob is turned.

HuFlungDung
10-16-2004, 10:03 AM
The multifunction knob can be programmed "to turn" in response to an I/O event. In general terms, I think you will need at least one real hardware switch to make the simplest input. When I used the multifunction knob, I used the inputs from two momentary contact switches to "turn" the multifunction knob by one detent CW in response to one pushbutton, and the other push button for CCW rotation.

Tarak
10-17-2004, 07:24 AM
Oh well, if I can't use just the multifunction knob I may just have to create 3 buttons, one for each valve.
I was hoping I could use only the multifunction knob, but it would obviously need to monitor the condition all the time as opposed to only looking at it when a seperate button is pressed, thanks anyhoo's.