Skip to main content
Skip table of contents

CDRFLEx.amovesx

Features

As an asynchronous movesx, it operates the same as movesx() except for the asynchronous process, and executes the next line by returning as soon as motion starts without waiting for the termination of motion. A new motion command generated before the motion is terminated by amovesj() causes errors for security reasons. Therefore, the termination of the amovesx() motion must be confirmed using mwait() between the amovesx function () and the following motion command before the new motion command is executed.

Parameter

Parameter Name

Data Type

Default Value

Description

fTargetPos

float [MAX_SPLINE_

POINT][6]

-

Maximum 100 waypoint information

nPosCount

unsigned char

-

Number of valid waypoints

fTargetVel

float[2]

-

Linear Velocity, Angular Velocity

fTargetAcc

float[2]

-

Linear Acceleration, Angular Acceleration

fTargetTime

float

0.0

Reach Time [sec]

eMoveMode

enum.MOVE_MODE

MOVE_MODE_

ABSOLUTE

Refer to the Definition of Constant and Enumeration Type

eMove

Reference

enum.MOVE_REFERENCE

MOVE_REFERENCE_BASE

Refer to the Definition of Constant and Enumeration Type

eVelOpt

enum.SPLINE_VELOCITY_OPTION

SPLINE_VELOCITY_OPTION_DEFAULT

Refer to the Definition of Constant and Enumeration Type

Note

  • If an argument is inputted to fTargetVel (e.g., fTargetVel = {30, 0}), the input argument corresponds to the linear velocity of the motion, while the angular velocity is determined proportionally to the linear velocity.
  • If an argument is inputted to fTargetAcc (e.g., fTargetAcc = {60, 0}), the input argument corresponds to the linear acceleration of the motion, while the angular acceleration is determined proportionally to the linear acceleration.
  • If fTargetTime is specified, values are processed based on fTargetTime, ignoring fTargetVel and fTargetAcc .
  • When eMoveMode is MOVE_MODE_RELATIVE, each pos on the position list is defined as a relative coordinate for the preceding pos. (If position list=[q1, q2, ...,q(n-1), q(n)], q1 is the relative angle of the starting point, while q(n) is the relative coordinate of q(n-1))
  • This function does not support online blending of previous and subsequent motions.

Caution

The constant velocity motion according to the distance and velocity between the input waypoints cannot be used if the “SPLINE_VELOCITY_OPTION_CONST” option (constant velocity option) is selected for eVelOpt, and the motion is automatically switched to the variable velocity motion (eVelOpt =SPLINE_VELOCITY_OPTION_DEFAULT) in that case.


Return

Value

Description

0

Error

1

Success

Example

CPP
// D-Out 3 seconds after the spline motion through all points of xpos begins
float xpos[4][6];
int xposNum = 4;
float tvel={ 50, 100 };
float tacc={ 50, 100 }; 
xpos[0][0]=559; xpos[0][1]=434.5; xpos[0][2]=651.5; 
xpos[0][3]=0; xpos[0][4]=180; xpos[0][5]=0;
xpos[1][0]=559; xpos[1][1]=434.5; xpos[1][2]=251.5; 
xpos[1][3]=0; xpos[1][4]=180; xpos[1][5]=0;
xpos[2][0]=559; xpos[2][1]=234.5; xpos[2][2]=251.5; 
xpos[2][3]=0; xpos[2][4]=180; xpos[2][5]=0;
xpos[3][0]=559; xpos[3][1]= 234.5; xpos[3][2]=451.5; 
xpos[3][3]=0; xpos[3][4]=180; xpos[3][5]=0;
drfl.amovesx(xpos, xposNum, tvel, tacc, 0, MOVE_MODE_ABSOLUTE);
drfl.set_digital_output(GPIO_CTRLBOX_DIGITAL_INDEX_1, 1);


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.