setCiA402Mode()

描述

Switch the mode of operation.

Relevant Objects

  • Object 6060h: Modes of operation
  • Object 6061h: Modes of operation display
  • Object 6502h: Supported drive modes

語法

int setCiA402Mode(int mode, uint32_t timeout_ms = 1000);

參數

  • [in] mode

The mode of operation to be switched:

定義代碼描述
CIA402_PP_MODE1Profile Position mode (pp)
CIA402_PV_MODE3Profile Velocity mode (pv)
CIA402_TQ_MODE4Profile Torque mode (tq)
CIA402_HOMING_MODE6Homing mode (hm)
CIA402_CSP_MODE8Cyclic Synchronous Position mode (csp)
CIA402_CSV_MODE9Cyclic Synchronous Velocity mode (csv)
CIA402_CST_MODE10Cyclic Synchronous Torque mode (cst)
  • [in] timeout_ms

Timeout in milliseconds.

回傳值

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::begin(). This function is non-blocking and can be used in callback functions if the related object is mapped to a PDO. However, when used in a callback, this function will ignore the timeout parameter and will not wait for the actual value to match the set value.

範例程式碼

#include "Ethercat.h"

EthercatMaster master;
EthercatDevice_CiA402 motor;

void setup()
 { Serial.begin(115200);
 while (!Serial);

 master.begin(); 
 motor.attach(0, master);

 Serial.print("Operation Mode: ");
 Serial.println(motor.getCiA402Mode());
}

void loop() {
// put your main code here, to run repeatedly:

}

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

返回頂端