[EthercatDevice_DmpStepper_Generic]
Description
Get the counter of the specified encoder on the EtherCAT slave device.
Derived Class:
| Class Name | Vendor ID | Product Code |
| EthercatDevice_QECR11MP3S | 0x00000bc3 | 0x0086d0d6 |
| EthercatDevice_QECR00MP3S | 0x00000bc3 | 0x0086d0d9 |
Syntax
int32_t encoderRead(int encoder);
Parameters
[in] int encoder
The specified encoder number:
| Definition | Value | Description |
| ECAT_ENCODER_1 | 0x01 | Encoder 1 on the EtherCAT slave device. |
| ECAT_ENCODER_2 | 0x02 | Encoder 2 on the EtherCAT slave device. |
| ECAT_ENCODER_3 | 0x03 | Encoder 3 on the EtherCAT slave device. |
| ECAT_ENCODER_X | 0x11 | Encoder X, which mapping is determined by the configMachineAxisMapping(). |
| ECAT_ENCODER_Y | 0x12 | Encoder Y, which mapping is determined by the configMachineAxisMapping(). |
| ECAT_ENCODER_Z | 0x13 | Encoder Z, which mapping is determined by the configMachineAxisMapping(). |
Return Value
Return the counter of the specified encoder with 32-bit signed integer.
Comment
This function must be called after a successful execution of EthercatMaster::start() and before EthercatMaster::stop(). This function is blocking and cannot be called within the callback functions.
Example
#include "Ethercat.h"
EthercatMaster master;
EthercatDevice_QECR11MP3S slave;
void setup() {
Serial.begin(115200);
master.begin();
slave.attach(0, master);
master.start();
}
void loop() {
Serial.print("Encoder 1: ");
Serial.println(slave.encoderRead(ECAT_ENCODER_1));
Serial.print("Encoder 2: ");
Serial.println(slave.encoderRead(ECAT_ENCODER_2));
Serial.print("Encoder 3: ");
Serial.println(slave.encoderRead(ECAT_ENCODER_3));
Serial.print("Encoder X: ");
Serial.println(slave.encoderRead(ECAT_ENCODER_X));
Serial.print("Encoder Y: ");
Serial.println(slave.encoderRead(ECAT_ENCODER_Y));
Serial.print("Encoder Z: ");
Serial.println(slave.encoderRead(ECAT_ENCODER_Z));
delay(1000);
// ...
}Please see EthercatDevice_DmpStepper_Generic Class for more QEC Stepper Drivers instructions and API usage.