dzrong Posted October 19, 2016 Posted October 19, 2016 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
DaveBarnett Posted October 19, 2016 Posted October 19, 2016 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
dzrong Posted October 20, 2016 Author Posted October 20, 2016 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
curtwilson Posted October 24, 2016 Posted October 24, 2016 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.
ulhasfegade Posted October 27, 2016 Posted October 27, 2016 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.
curtwilson Posted October 28, 2016 Posted October 28, 2016 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.
Takashi Posted November 1, 2016 Posted November 1, 2016 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.
Recommended Posts