MoveLinearAbsolute

Commands an interpolated linear movement on an axis group from the current position of the tool center point to an absolute position in the specified coordinate system.

Syntax

KsCommandStatus MoveLinearAbsolute(
     int Index,
     int Length,
     double* Position,
     double Velocity,
     double Acceleration,
     double Deceleration,
     double Jerk,
     McCoordSystem CoordSystem,
     McBufferMode BufferMode,
     McTransitionMode TransitionMode,
     double* TransitionParameter
);

Parameters

Index [in]: the index of an axis group. Indexes are zero based. Aliases affect this parameter. You can have up to 32 groups.

Length [in]: the length of the Position array.

Position [in]: the array [1..N] of absolute end positions for each dimension in the specified coordinate system. N is 64.

Velocity [in]: the maximum velocity of the path for the coordinate system in which the path is defined. Always positive. Not necessarily reached. [unit/second]

Acceleration [in]: the maximum acceleration. Always positive. Not necessarily reached. The unit is determined by the McProfileType type. [unit/second2] or [second]

Deceleration [in]: the maximum deceleration. Always positive. Not necessarily reached. The unit is determined by the McProfileType type. [unit/second2] or [second]

Jerk [in]: the maximum jerk. Always positive. Not necessarily reached. The unit is determined by the McProfileType type. [unit/second3] or [second]

CoordSystem [in]: a coordinate system. See the McCoordSystem type.

BufferMode [in]: defines how to blend the velocity of two functions. See the McBufferMode type.

TransitionMode [in]: inserts a transition curve. See the McTransitionMode type.

TransitionParameter [in]: the additional parameter for the transition mode. If TransitionMode is set to mcNone, this parameter has no effect.

Return value

Returns the KsCommandStatus structure.

Remarks

Example

VOID MoveAbsolute(INT Group, DOUBLE PositionX, DOUBLE PositionY) {
   DOUBLE Position[2] = { PositionX, PositionY };

   //Start an absolute move.
   KsCommandStatus move = WaitForCommand(30, TRUE, MoveLinearAbsolute(Group, 2, Position, 
      3600, 36000, 36000, 3600000, 
      mcAxisCoordSystem, mcAborting, mcNone, NULL));

   GetGroupActualPosition(Group, mcAxisCoordSystem, mcActualValue, 2, Position);
   RtPrintf("Current Position: %d,%d\n", (int)Position[0], (int)Position[1]);
}

Requirements

  RT Win32
Minimum supported version 4.0 4.0
Header ksmotion.h ksmotion.h
Library KsApi_Rtss.lib KsApi.lib

See also

MoveLinearAdditive

MoveLinearRelative