EtherCAT Programming Guide Group Motion Control
March, 2017 17-3
17
17.1 _ECAT_Slave_User_Motion_Control_Set _Enable_Mode
Syntax
U16 PASCAL_ECAT_Slave_User_Motion_Control_Set_Enable_mode (U16 CardNo, U16
GroupNo, U16 Mode)
Purpose
This is for setting the group status.
Note:
1. Before using this API, please enable all the axes in the group.
2. Please note that before enabling the group, users should apply
_ECAT_Slave_User_Motion_Control_Set_Type to specify the axes to be grouped and motion of
the group (see section 17.3). Then, use _ECAT_Slave_User_Motion_Control_ Svon (see section
17.8) to enable the motor of each axis. Finally, this API(_ECAT_Slave_User_Motion_Control_Set
_Enable_Mode) can be used. Please refer to the example below.
3. Suggested steps: Set mode to 2 (Mode=2) to switch to the pause state. Then, use API
“_ECAT_Slave_User_Motion_Control_Set_Data” (see section 17.4) to input 100 data beforehand
so that the commands can be issued in time and avoid vibration of the machine.
Parameter
Name Data type Property Description
CardNo U16 Number Card No.
GroupNo U16 Number Group No.
Mode U16 Option
Status:
0: Disable
1: Enable
2: Pause
Example
U16 Status;
U16 CardNo=16, GroupNo =1, AxisNum=2, AxisNoArray[2] ={1,2}, SlotNoArray[2] = {0,0},
Type=0, Mode =2, ON_OFF=1, Counter;
I32 DataArray[2]={12,33};
Status =_ECAT_Slave_User_Motion_Control_Set_Type (CardNo, GroupNo ,AxisNum ,
AxisNoArray, SlotNoArray, Type);
// The axes have to be enabled first so that the user can carry on using other relevant functions.
Status = _ECAT_Slave_User_Motion_Control_Svon(CardNo, GroupNo, ON_OFF);
// Enable the mode and set it to pause.
Mode =2;
Status =_ECAT_Slave_User_Motion_Control_Set_Enable_Mode (CardNo, GroupNo, Mode);
// Input 100 data in advance. If the communication cycle of the EtherCAT master is 1 ms, it
means these 100 data requires 100 ms to process.