Vectrac CNC Knee mill refit from Fanuc 0M to Camsoft

Ahhh, I found the WSDK software, that is a really old software. It runs on Win7? It does have a terminal built in so you can use that, never used it before, but is should be able to give you all of the same data that any of the other terminal software give you.

In the case of a mill I just write a little program to continuously move the table back & forth (see a few posts back) while I'm manually changing parameters from the keyboard. Watching mainly _TE to see what it's doing. In a perfect world, _TE should always read 0, but the world is not perfect. You always want a small amount of following error, never lead error, for a stable system, with no overshoot. Feel the machine while testing, that will tell you a lot about the way it's running.

The ''P'' tightens the system, the ''I'' reduces the following error, and the ''D'' smooths it all out by damping the rate of change. Normally I start with ''P'' at 6, ''I'' at 0, and ''D'' at 24 (4xP), then just keep bumping ''P'' up until the system gets tight. Too much ''P'' and the system will go unstable and oscillate, same with too much ''I'', too much ''I'' causes overshoot also. Add ''D'' as needed, ''D'' should always be greater than ''P''.
 
Last edited:
Ok, Had a difficult time getting a storage scope to run, but think I got it. see the program and several runs with a huge scattering of PID values. Have no real clue what I'm looking at but none of the runs felt jerky with my hand on the table.

Now, Its EASY to make a change and run a scope. Where would you go from here? The file name has the KP KD and KI values.

DARN MISTAKE AC is 49152 DC is 19456. I will re run one or two with 99999
 

Attachments

  • TEST PROGRAM.txt
    103 bytes · Views: 2
  • TEST 4  175 2000 2.JPG
    TEST 4 175 2000 2.JPG
    94.9 KB · Views: 2
  • TEST 3 100 1000 0.JPG
    TEST 3 100 1000 0.JPG
    99.1 KB · Views: 2
  • TEST 2 175 1500 2.JPG
    TEST 2 175 1500 2.JPG
    99.6 KB · Views: 2
  • TEST 1 59 510 0.JPG
    TEST 1 59 510 0.JPG
    95.8 KB · Views: 2
Last edited:
now it only takes a minute to make a run
 

Attachments

  • TEST 6 100 1000 2.JPG
    TEST 6 100 1000 2.JPG
    98.3 KB · Views: 2
  • TEST 5  AC DC 99999 175 2000 2.JPG
    TEST 5 AC DC 99999 175 2000 2.JPG
    95.4 KB · Views: 2
Looks like you have something to work with now, that is a good thing. :)

Let's talk about the mechanics of your system.
Belt drive or direct coupled?
If belt drive, ratio?
Ball screw lead?
Using the DMM encoder for position?

You want to set the encoder lines for about 1 micron/encoder pulse. (4 pulses/line)

While the commands seem to be working, I normally use this format ''KPX=1234'' and on a query ''KPX=?''
I still don't understand why the PID values need to be set so high, I have never seen this before.

I would remove the SP line from the test program, set this manually on the fly as needed, SPX=12345. You want to test at different speeds and this will allow easy setting between runs.

I would make these changes to the program
#A
PRX=20000
BGX;AMX
WT 1000
PRX=-20000
BGX;AMX
WT 1000
JP#A
EN

Try changing the ACX and DCX values between runs and see what happens. 250,000 to 1,000,000 range should be in the ballpark.

You're getting close, just need a little more practice tuning.
 
have a 1:1 belt drive to a 5/inch ball screw. so 500 lines*4 edges*5turns= 10,000 cts per inch from the DMM encoder. Following error of 11 cts for a few milliseconds in the 175 gain graph is PLENTY good. just would like to make the graph a bit smoother, if possible.

Look carefully at the last two runs vs. the first five - it is accelerating past the SP setting in the program - just doing 2 seconds of AC then level run.

I'll make a run with double the SP and see what happens. I chose this as its the highest cutting speed the machine with ever see. 10,000= 1 inch per second or 60 IPM. It will rapid at 300, but who cares about follow error then?

Same with AC and DC - double it, but please note it is only academic 99,999 is the max I will be using on the control.
 
Try setting the ''I'' a bit lower to see what happens. Overshoot is normally caused by too much ''I''
 
Ok, here's a couple more trials. took SP out of program.

T7 has AC and Dc at 200,000 speed at 20,000 kp 175 kd 2000 ki 2

T7p5 raised kd to 2500
T8 raised ki to 10 - feel a sharp stop with hand on table
T9 put speed back to 10,000, and ac dc back to 99,999

i will add a DP 0 to the program next run.
 

Attachments

  • T9 AC DC 99999 SP10000.JPG
    T9 AC DC 99999 SP10000.JPG
    120.6 KB · Views: 2
  • T8 KI 10.JPG
    T8 KI 10.JPG
    110.1 KB · Views: 2
  • T7p5  KD2500.JPG
    T7p5 KD2500.JPG
    104.3 KB · Views: 2
  • T7 ac200000 SP20000 KP175 KD2000 KI2.JPG
    T7 ac200000 SP20000 KP175 KD2000 KI2.JPG
    96.4 KB · Views: 4
Maybe try KD at 500 or so. That should stiffen things up a bit. Maybe try KI at 1.5
 
here's five more runs. lower KD looked bad to me, agree? so I went back to 2500 KD with ki 1.5, then tried ki 5, then kp 200.

It only takes a second to run, now that I am good at it.
 

Attachments

  • T14 KP 200.JPG
    T14 KP 200.JPG
    104.7 KB · Views: 4
  • T13 KI 5.JPG
    T13 KI 5.JPG
    104.9 KB · Views: 4
  • T12 KD2500.JPG
    T12 KD2500.JPG
    106.6 KB · Views: 2
  • T11  KI 1.5.JPG
    T11 KI 1.5.JPG
    102.6 KB · Views: 2
  • T10 KD 500.JPG
    T10 KD 500.JPG
    109.1 KB · Views: 2
T13 and T14 look pretty good with the exception of the overshoot when it reaches speed and again on decel.

The lower KD looks the best.

T12 with the KD = 2500 the following error is taking a long time to recover. In a perfect world, the position error graph would be a straight line at 0 throughout the entire cycle. That would mean that the actual position is exactly following the commanded position, but in reality that is almost impossible.

Bumping up the KP might help a bit. At 6 seconds the error should come to 0, looks like it's good in T13, T14
 
Back
Top