我想找...

搜尋

分享

目錄

EthercatDevice_DmpStepper.configMachineSoftLimit()

[EthercatDevice_DmpStepper_Generic]

描述

Configure the software limit of the specified machine axis on the EtherCAT slave device in G-code Controller mode. These parameters are written to the EEPROM of the EtherCAT slave device and loaded during startup, so users do not need to configure these parameters each time before running the program.

Upon receiving a movement command from the user calling machineGcode(), the EtherCAT slave device internally calculates the target position for each axis.

  • If the target position P for an axis is greater than the maximum position value Pmax for that axis, then P will be adjusted to Pmax.
  • If the target position P for an axis is less than the minimum position value Pmin for that axis, then P will be adjusted to Pmin.

衍生類別:

Class NameVendor IDProduct Code
EthercatDevice_QECR11MP3S0x00000bc30x0086d0d6
EthercatDevice_QECR00MP3S0x00000bc30x0086d0d9

語法

int configMachineSoftLimit(int machine_axis, double min, double max);

參數

  • [in] int machine_axis
    The specified machine axis number on the EtherCAT slave device:
定義描述
ECAT_MACHINE_X_AXIS0X-axis, which mapping is determined by the configMachineAxisMapping().
ECAT_MACHINE_Y_AXIS1Y-axis, which mapping is determined by the configMachineAxisMapping().
ECAT_MACHINE_Z_AXIS2Z-axis, which mapping is determined by the configMachineAxisMapping().
  • [in] double min
    The minimum position value Pmin of the software limit to be configured, in millimeters.
  • [in] double max
    The maximum position value Pmax of the software limit to be configured, in millimeters.

回傳值

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 blocking and cannot be called within the callback functions.

範例

#include "Ethercat.h"

EthercatMaster master;
EthercatDevice_QECR11MP3S slave;

void setup() {
  master.begin();
  slave.attach(0, master);

  slave.configMachineSoftLimit(ECAT_MACHINE_X_AXIS, 0, 100);
  slave.configMachineSoftLimit(ECAT_MACHINE_Y_AXIS, 0, 100);
  slave.configMachineSoftLimit(ECAT_MACHINE_Z_AXIS, 0, 100);
}

void loop() {
  // ...
}

Please see EthercatDevice_DmpStepper_Generic 類別 for more QEC Stepper Drivers instructions and API usage.

返回頂端