サイト内検索

検索

コードライブラリ

目次

motor.isTargetReached

[EtherCAT Device CiA402]

説明

Check if the target has been reached. It checks the target reached bit in the statusword object.

Relevant Objects

  • Object 6041h: ステータスワード

構文

int isTargetReached();

媒介変数

なし

戻り値

Return whether the target has been reached.

備考

この関数は、 EthercatMaster::start(). This function is non-blocking and can be called in callback functions.

例

#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); 
}

詳細は EtherCAT CiA 402 ユーザーマニュアル QEC EtherCAT命令とAPI使用法参照

上部へスクロール