サイト内検索

検索

コードライブラリ

目次

motor.hm_IsAttained()

[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説明
0CIA402_HM_ATTAINED0Homing mode not yet completed.
1Homing mode carried out successfully.
1CIA402_HM_ERROR0No homing error.
1Homing 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使用法参照

上部へスクロール