[EthercatDevice_DmpStepper_Generic]
描述
Check if the limit switch of the specified machine axis on the EtherCAT slave device is touched.
衍生類別:
Class Name | Vendor ID | Product Code |
EthercatDevice_QECR11MP3S | 0x00000bc3 | 0x0086d0d6 |
EthercatDevice_QECR00MP3S | 0x00000bc3 | 0x0086d0d9 |
語法
int machineIsLimitTouched(int machine_axis);
參數
[in] int machine_axis
The specified machine axis number on the EtherCAT slave device:
定義 | 值 | 描述 |
ECAT_MACHINE_X_AXIS | 0 | X-axis, which mapping is determined by the configMachineAxisMapping() . |
ECAT_MACHINE_Y_AXIS | 1 | Y-axis, which mapping is determined by the configMachineAxisMapping() . |
ECAT_MACHINE_Z_AXIS | 2 | Z-axis, which mapping is determined by the configMachineAxisMapping() . |
回傳值
Return whether the limit switch of the specified machine axis is touched.
- 1 means the Machine Limit Switch is touched.
- 0 means none.
If the return value is less than 0, it indicates an 錯誤代碼.
備註
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.
This function only works in G-code Controller mode on the EtherCAT slave device. For more details, please refer to configDeviceMode()
.
範例
#include "Ethercat.h" EthercatMaster master; EthercatDevice_QECR11MP3S slave; void CyclicCallback() { slave.update(); } void setup() { Serial.begin(115200); master.begin(); slave.attach(0, master); master.attachCyclicCallback(CyclicCallback); master.start(); } void loop() { Serial.print("Limit Switch => "); Serial.print("X: "); Serial.print(slave.machineIsLimitTouched(ECAT_MACHINE_X_AXIS)); Serial.print(", Y: "); Serial.print(slave.machineIsLimitTouched(ECAT_MACHINE_Y_AXIS)); Serial.print(", Z: "); Serial.println(slave.machineIsLimitTouched(ECAT_MACHINE_Z_AXIS)); delay(1000); // ... }
Please see EthercatDevice_DmpStepper_Generic 類別 for more QEC Stepper Drivers instructions and API usage.