描述
Pause the current operation and wait for the drive to stop based on the configuration specified in setHaltOptionCode().
Relevant Objects
- Object 6040h: Controlword
- Object 6041h: Statusword
語法
int pp_Halt(uint32_t timeout_ms = 10000);
參數
[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::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);
}Please see the EtherCAT CiA 402 User Manual for more QEC EtherCAT instructions and API usage.