pp_Halt()

説明

Pause the current operation and wait for the drive to stop based on the configuration specified in setHaltOptionCode().

Relevant Objects

  • Object 6040h: 制御ワード
  • Object 6041h: ステータスワード

構文

int pp_Halt(uint32_t timeout_ms = 10000);

媒介変数

  • [in] timeout_ms

タイムアウト値で、ミリ秒単位。

戻り値

error codeを返します。返された値が 0の場合、この関数が正常に完了したことを示します。

備考

この関数は、 EthercatMaster::start(). This function is blocking and cannot 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.pp_SetMotionProfileType(0); 
  motor.pp_SetVelocity(100000);
  motor.pp_SetAcceleration(5000);
  motor.pp_SetDeceleration(5000);
  motor.pp_Run(1000000,CIA402_PP_RELATIVE, true);
  delay(3000);
  motor.pp_Halt();
  delay(3000);
  motor.pp_Resume();
  while (motor.pp_IsTargetReached() == 0);
  
  motor.pp_SetMotionProfileType(0); 
  motor.pp_SetVelocity(100000); 
  motor.pp_SetAcceleration(5000);
  motor.pp_SetDeceleration(5000);
  motor.pp_Run(-1000000, CIA402_PP_RELATIVE, true);
  delay(3000); 
  motor.pp_Halt();
  delay(3000);
  motor.pp_Resume();
  while (motor.pp_IsTargetReached() == 0); 
}

詳細は EtherCAT CiA 402 User Manual QEC EtherCAT命令とAPI使用法参照

上部へスクロール