描述
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_MODE | 1 | Profile Position mode (pp) |
| CIA402_PV_MODE | 3 | Profile Velocity mode (pv) |
| CIA402_TQ_MODE | 4 | Profile Torque mode (tq) |
| CIA402_HOMING_MODE | 6 | Homing mode (hm) |
| CIA402_CSP_MODE | 8 | Cyclic Synchronous Position mode (csp) |
| CIA402_CSV_MODE | 9 | Cyclic Synchronous Velocity mode (csv) |
| CIA402_CST_MODE | 10 | Cyclic 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.