04-11-2016, 02:56 AM

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

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