[EtherCAT Device CiA402]
Description
Check if the target has been reached. It checks the target reached bit in the statusword object.
Relevant Objects
- Object 6041h: Statusword
Syntax
int isTargetReached();
Parameters
None.
Return Value
Return whether the target has been reached.
Comment
This function must be called after a successful execution of EthercatMaster::start(). This function is non-blocking and can be called in callback functions.
Example Code
#include "Ethercat.h"
EthercatMaster master;
EthercatDevice_CiA402 motor;
void setup() {
master.begin();
motor.attach(0, master);
motor.setCiA402Mode(CIA402_PP_MODE);
master.start();
motor.enable();
}
void loop() {
motor.setTargetPosition(100000);
motor.setModeSpecificBit6(true);
motor.setModeSpecificBit5(true);
motor.setModeSpecificBit4(true);
while (motor.checkModeSpecificBit12() == 0);
motor.setModeSpecificBit4(false);
while (motor.checkModeSpecificBit12() == 1);
while (motor.isTargetReached() == 0);
motor.setTargetPosition(-100000);
motor.setModeSpecificBit6(true);
motor.setModeSpecificBit5(true);
motor.setModeSpecificBit4(true);
while (motor.checkModeSpecificBit12() == 0);
motor.setModeSpecificBit4(false);
while (motor.checkModeSpecificBit12() == 1);
while (motor.isTargetReached() == 0);
}
Please see the EtherCAT CiA 402 User Manual for more QEC EtherCAT instructions and API usage.