[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: ステータスワード
構文
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 | 名前 | Value | 説明 |
| 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. |
備考
この関数は、 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:
}
詳細は EtherCAT CiA 402 ユーザーマニュアル QEC EtherCAT命令とAPI使用法参照