pv_Run()

描述

Move at a target velocity continuously in Profile Velocity mode (pv).

Relevant Objects

  • Object 6041h: Statusword
  • Object 60FFh: Target velocity

語法

int pv_Run(int32_t velocity);

參數

  • [in] velocity

The target velocity to be set.

回傳值

Return an error code. If the returned value is zero, it indicates a successful execution of this function.

備註

This function must be called after a successful execution of 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_PV_MODE);
  master.start();
  
  motor.enable();
}

void loop() { 
  motor.pv_SetMotionProfileType(0);
  motor.pv_SetAcceleration(5000);
  motor.pv_SetDeceleration(5000);
  motor.pv_Run(1000);
  while (motor.pv_IsTargetReached() == 0);
  delay(3000);
  motor.pv_SetMotionProfileType(0);
  motor.pv_SetAcceleration(5000);
  motor.pv_SetDeceleration(5000);
  motor.pv_Run(-1000);
  while (motor.pv_IsTargetReached() == 0);
  delay(3000);
}

Please see the EtherCAT CiA 402 User Manual for more QEC EtherCAT instructions and API usage.

返回頂端