[EtherCAT Device CiA402]
描述
Check the status of the homing operation in Homing mode (hm). This status represents bits 12 and 13 of the controlword object.
Relevant Objects
- Object 6041h: Statusword
語法
int hm_IsAttained();
參數
無
回傳值
Return the status of the homing operation. When the status value equals CIA402_HM_RUNNING, it indicates that the homing process is still in progress. The bit definitions of the status are shown in the table below.
| Bit | 名稱 | 值 | 描述 |
| 0 | CIA402_HM_ATTAINED | 0 | Homing mode not yet completed. |
| 1 | Homing mode carried out successfully. | ||
| 1 | CIA402_HM_ERROR | 0 | No homing error. |
| 1 | Homing error occurred. |
備註
This function must be called after a successful execution of EthercatMaster::start(). This function is non-blocking and can be called in callback functions.
範例程式碼
#include "Ethercat.h"
EthercatMaster master;
EthercatDevice_CiA402 motor;
void setup() {
int status;
Serial.begin(115200);
while (!Serial);
master.begin();
motor.attach(0, master);
motor.setCiA402Mode(CIA402_HOMING_MODE);
master.start();
motor.enable();
motor.hm_SetHomingMethod(CIA402_HM33);
motor.hm_SetHomeOffset(0);
motor.hm_SetHomingSpeeds(100, 20);
motor.hm_SetHomingAcceleration(100);
motor.hm_Run();
while ((status = motor.hm_IsAttained()) == CIA402_HM_RUNNING);
if (status & CIA402_HM_ATTAINED)
Serial.println("Homing mode carried out successfully.");
if (status & CIA402_HM_ERROR)
Serial.println("Homing error occurred.");
}
void loop() {
// put your main code here, to run repeatedly:
}
Please see the EtherCAT CiA 402 使用手冊 for more QEC EtherCAT instructions and API usage.