Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PMAC omits feedrate limits
#1
Dear all,

I have been facing a problem with PMAC controller when executing a motion program using an inverse kinematics coordinate system. Hence, PMAC omits the values of the feedrate set by the motion program and runs the motion system with the feedrate even much grater than the limits set by Isx98. This does not happen if I execute the same motion program but using a simple coordinate system.

This is my setup of the inverse kinematics c.s. together with forward kinematics:
&1
I15=0
#1->I
#2->I
I5150=1 ; enabling kinematic calculation

&1 OPEN INVERSE ; Inverse kinematics for CS 1
CLEAR
P1 = -Q7 * 8192 ; X axis
P2 = ((0.5-0.62*Cos(27.49+Q8))+Q7+Q8) * 8192 ; Y axis
CLOSE

OPEN FORWARD
CLEAR
Q7=0
Q8=0
CLOSE

This is my motion program:
OPEN PROG 120 CLEAR
F(10)
X(0)Y(0)

Delay1000

F(10)
X(100)Y(0)
CLOSE

What I notice is that the feedrate value goes well beyond what is written in the motion program, and that is 10. Also, PMAC omits the maximum feedrate value written in I5198, which is 50. Also, it seems that whatever I write for the feedrate value in the motion program, PMAC simply execute motion with the feedrate value not related to what I coded.

However, if I execute the same motion program, but using a simple coordinate system such as:
&1
#1->-8192X
#2->8192X+8192Y

PMAC obeys the feedrate value I wrote in the motion program if they are below or equal to what is encoded in I5198, which is exactly what I want to achieve.

I hope you can help me with this, I have a feeling it is something rather simple, but I cannot figure out what it is.

Thanks in advance
Reply
#2
How are you measuring the tool tip federate?

You might try maintaining the tool tip velocity calculations to verify this.
Reply
#3
Also note that the forward kinematics is only true at the "real" origin. Any deviation and need for this will result in incorrect calculation and the motors will jump. the best solution is to define the correct forward calculations.
Reply
#4
Your forward and inverse kinematic routines MUST be mathematical inverses of each other over the entire workspace. That is, at any location in your workspace, if the X and Y axis position values Q7 and Q8 produce particular motor position values P1 and P2 in your inverse kinematic routine, the forward kinematic routine, given those same P1 and P2 motor position values, must produce the same axis position values in Q7 and Q8.

When you start a motion program, PMAC uses the Q-variable outputs from the forward kinematic routine as its starting axis positions to compute the move. If these are not correct, there will be a very quick jump from the real present position to the position it thinks it is starting from.
Reply
#5
Curt and Steve

Many thanks for your suggestions. I will apply them and return back with results!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)