Posts: 177

Threads: 69

Joined: Feb 2010

Hello EveryOne,

I want to control 3 axis X,Z and C move synchronously,and I want to use the frax(x,z,c) to set the feedrate, but PPMAC seems not allow to do this,so how to control the speed of the three axis after some position points had been given?

Thanks

Posts: 50

Threads: 17

Joined: Jun 2010

10-19-2016, 06:12 AM
(This post was last modified: 10-19-2016, 06:14 AM by DaveBarnett.)
The feedrate during a move is specified with the F command. The FRAX command is used to specify *which* axes are to be used in the feedrate calculations.

example:

X10 Y20 Z30 F10 //move with a feedrate of 10

X20 Y30 Z40 F20 //move with a feedrate of 20

Posts: 177

Threads: 69

Joined: Feb 2010

(10-19-2016, 06:12 AM)DaveBarnett Wrote: The feedrate during a move is specified with the F command. The FRAX command is used to specify *which* axes are to be used in the feedrate calculations.

example:

X10 Y20 Z30 F10 //move with a feedrate of 10

X20 Y30 Z40 F20 //move with a feedrate of 20

I want to control 3 axis X,Z and C move synchronously,is't possible to limit the velocity and acceleration of Axis C?

For example:

X10 Z20 C30

Posts: 659

Threads: 0

Joined: Jun 2008

10-24-2016, 03:00 PM
(This post was last modified: 10-28-2016, 09:55 AM by curtwilson.)
When you set multiple axes as "feedrate axes" you are treating them as if they were geometrically perpendicular axes, all with the same units.

This makes sense for X, Y, and Z linear axes. I don't think it makes sense when you include a rotary ( C ) axis.

When you command multiple axes on the same line (e.g. X10 Z20 C30), they will all move synchronously, starting and stopping together. But what controls the speed?

First, PPMAC computes the vector distance of the federate axes. In your example, if the move is incremental:

VecDist = sqrt (DeltaX^2 + DeltaY^2 + DeltaC^2) = sqrt (10^2 + 20^2 + 30^2) = sqrt(1400) = 37.4

Note that it just uses your numbers -- it does not care what your units are, so it is your responsibility to use consistent units.

Then it divides this distance by your specified federate. If you F5 (with time units of seconds), it would compute a move time of 7.5 seconds.

Now it divides each axis distance by this time to get the axis speed. For your C axis, this is 30 / 7.5 = 4 units per second.

It can compare this value to the motor's maximum speed limit. If you had a max speed of 2 units per second for the motor assigned to the C-axis, it would double the time for the move to 15 seconds so the C-axis motor did not go faster than 2. Note that the speeds of the other axes would be cut in half as well to maintain synchronization.

Once this is set, it can use this speed and the TA/TS times to compute an acceleration value and compare this to the maximum acceleration value (from InvAmax) for the motor.

Posts: 21

Threads: 12

Joined: Jan 2012

We also use Cartesian axis X,Y,Z and two rotary axis and interpolate all 5 axis in small increments to achieve the contour with special look ahead function with blending.

Will there be a difference in the accuracy of the contouring with and without rotary axis in FRAX command. We can change the F command in the program so that actual velocity of each axis will match.

Posts: 659

Threads: 0

Joined: Jun 2008

The selection of feedrate axes only affects the time for the move, not the path.

Nobody that is doing 5-axis control with PMAC has more than the 3 Cartesian axes as the feedrate axes. It simply makes no geometric sense to include the rotary axes. If you do, you are causing PMAC to add millimeters and degrees, which is nonsensical.

Posts: 1

Threads: 0

Joined: Jun 2015

Hi,dzrong

I don't really know your intention but Frax axis names must be in Alphabetical order.

Please refer to the software reference manual.