.

Point-to-Point Motion

Point to point motion will start a move on all the axes mapped to the Motion object from the current command position to a new position. There are three different methods that will start start a point-to-point motion, each taking a different set of arguments and generating different velocity profiles as the axis/axes are moving.

  Trapezoidal The type of motion has a trapezoidal shape for the velocity with constant acceleration and deceleration phases.
  SCurve This type of move has an "S" shape to the acceleration and deceleration phases. This method uses the JerkPercent argument to decide how much of the acceleration and deceleration phases is curved. A JerkPercent of zero produces a trapezoidal profile.

Trapezoidal

 

SCurve

The following table summarizes the arguments that each of the methods take. The Position argument is always required, but all the other arguments are optional.

 
Position
Speed
Accel
Decel
JerkPercent
Attributes
Trapezoidal
*
x
x
x
.
x
SCurve
*
x
x
x
x
x

If an optional argument is omitted then the value used is taken from the corresponding properties starting with Default in either the Axis or Motion objects.

The Attributes argument modifies the default behavior of each of these motions enabling a great many variations of the basic motion to be generated. The Attributes argument does not have a corresponding default property and must be specified for each motion.

For example

Before a motion object can be used for any motion it needs to be mapped to an axis (or axes). This can be done with the following Visual Basic instruction to allow Motion object 0 to use axis 0.

Visual Basic

Controller.Motion(0).AxesClear() 
Controller.Motion(0).AxisAdd(0)

C#

Controller.Motion[0].AxesClear(); 
Controller.Motion[0].AxisAdd(0);

Most default properties are zero at controller initialization and need to be given values before any motion will start. The exception is DefaultJerkPercent which is set to 66 2/3 at controller initialization. The following code sets up the default motion parameters for a trapezoidal move. These instructions only need to be issued once, commonly when the application starts, and are used by all the subsequent motion commands.

Visual Basic

Controller.Motion(0).DefaultSpeed = 10000 
Controller.Motion(0).DefaultAccel = 100000
Controller.Motion(0).DefaultDecel = 100000

C#

Controller.Motion[0].DefaultSpeed = 10000; 
Controller.Motion[0].DefaultAccel = 100000;
Controller.Motion[0].DefaultDecel = 100000;

 

The following Visual Basic code will start a trapezoidal move on the axis mapped to motion object 0.

Visual Basic

Controller.Motion(0).Trapezoidal(1000)

C#

Controller.Motion[0].Trapezoidal(1000); 

 

The default motion parameters can be overwritten for specific move using the following type of instruction.

Visual Basic

Controller.Motion(0).Trapezoidal(2000, 20000)

C#

Controller.Motion[0].Trapezoidal(2000, 20000);

 

The attributes argument can be used to modify the motion, the following command changes the motion to a relative move.

Visual Basic

Controller.Motion(0).Trapezoidal(500, Mpx.MoveAttribute.Relative) 
              

C#

Controller.Motion[0].Trapezoidal(500, Mpx.MoveAttribute.Relative); 
              

 

See Also

Motion.Trapezoidal
Motion.SCurve

 

       Legal Notice  |  Tech Email  |  Feedback
      
Copyright ©
2001-2021 Motion Engineering