For information on the latest version, please have a look at GL013301.
amovel (Auto Mode)
As an asynchronous movel, it operates the same as the movel function except for not having the
fBlendingRadius argument for blending. However, the command returns immediately when motion starts and executes
the next line without waiting for the termination of motion due to the asynchronous type.
Definition
DRFLEx.h within class CDRFLEx, public section (line 777)
bool amovel(float fTargetPos[NUM_TASK],
float fTargetVel[2],
float fTargetAcc[2],
float fTargetTime = 0.f,
MOVE_MODE eMoveMode = MOVE_MODE_ABSOLUTE,
MOVE_REFERENCE eMoveReference = MOVE_REFERENCE_BASE,
BLENDING_SPEED_TYPE eBlendingType = BLENDING_SPEED_TYPE_DUPLICATE,
DR_MV_APP eAppType = DR_MV_APP_NONE) {
return _amovel(_rbtCtrl, fTargetPos, fTargetVel, fTargetAcc,
fTargetTime, eMoveMode, eMoveReference, eBlendingType, eAppType);
}
Parameter
Parameter Name |
Data Type |
Default Value |
Description |
|---|---|---|---|
fTargetPos |
float[6] |
Target TCP Position for six axes |
|
fTargetVel |
float[2] |
Linear Velocity, Angular Velocity |
|
fTargetAcc |
float[2] |
Linear Acceleration, Angular Acceleration |
|
fTargetTime |
float |
Reach Time [sec] |
|
eMoveMode |
|
Refer to the Definition of Enumeration Type |
|
eMoveReference |
|
Refer to the Definition of Enumeration Type |
|
eBlendingType |
|
Refer to the Definition of Enumeration Type |
Return
Value |
Description |
|---|---|
0 |
Error |
1 |
Success |
Example
// D-out 2 seconds after the motion starts with x1
float x1[6] = { 559, 434.5, 651.5, 0, 180, 0 };
float tvel[2] = { 50, 50 };
float tacc[2] = { 100, 100 };
drfl.amovel(x1, tvel, tacc);
Sleep(2000);
drfl.set_digital_output(GPIO_CTRLBOX_DIGITAL_INDEX_1, 1);
This example starts an asynchronous linear TCP motion to pose x1, then toggles a digital output 2 seconds after motion start. Because it’s asynchronous, program flow continues immediately after amovel() is issued.