EtherCAT Programming Guide Cyclic Synchronous Position Mode (CSP)
March, 2017 9-41
9
9.22 _ECAT_Slave_CSP_Mask_Axis
Syntax
U16 PASCAL _ECAT_Slave_CSP_Mask_Axis(U16 CardNo , U16 AxisNo , U16 SlotNo ,
U16 Mode)
Purpose
When multi-axis motion command is being executed, this API can be used to stop the specified
axes without influencing others.
Parameter
Name Data type Property Description
CardNo U16 Number Card No.
AxisNum U16 Quantity Axis No. to be stopped
AxisArray U16*
Array for each
axis
Array for each axis (node ID); the array number should
equal to the axis number
AxisNo Array[0] stores the first node
AxisNo Array[1] stores the second node
….
SlotArray U16*
Array for each
slot
Array for each axis (slot ID); the array number should
equal to AxisNum
Example
U16 Status;
U16 CardNo=0, MoveAxisNum =3, MoveAxisArray[3]={1,2, 3}, MoveSlotArray[3]={0, 0, 0};
U16 StopAxisNum = 2, StopAxisArray[2]={2, 3}, StopSlotArray[2]={0, 0};
I32 DistArrary[3]= {100000,200000, 300000}, StrVel=0, ConstVel =50000, EndVel=20000;
F64 TPhase1=0.2, TPhase2=0.1;
U16 Scurve =0, Abs_Rel =0;
Status = _ECAT_Slave_CSP_Start_Multiaxes_Move(CardNo, MoveAxisNum,
MoveAxisArray, MoveSlotArray, DistArrary, Strvel, ConstVel, EndVel, TPhase1, TPhase2,
Scurve, Abs_Rel);
Status = _ECAT_Slave_CSP_Mask_Axis(CardNo, StopAxisNum, StopAxisArray,
StopSlotArray)