サイト内検索

検索

Shares

Table of Content

EthercatDevice_DmpStepper.configMachineSoftLimit()

[EthercatDevice_DmpStepper_Generic]

説明

Gコード・コントローラ・モードで EtherCATスレーブデバイス上の指定された機械軸のソフトウェアリミットを設定します。これらの変数はEtherCATスレーブデバイスのEEPROMに書き込まれ、起動時に読み込まれるため、ユーザーはプログラムを実行する前に毎回これらの変数を設定する必要はありません。

ユーザーが machineGcode()を呼び出して移動コマンドを受信すると、EtherCATスレーブデバイスは各軸の目標位置を内部で計算します。

  • ある軸の目標位置 P がその軸の最大位置値Pmaxより大きい場合、 PPmaxに調整されます。
  • ある軸の目標位置 P がその軸の最大位置値Pmaxより小さい場合、PPmaxに調整されます。

派生クラス:

クラス名製造者ID製品コード
EthercatDevice_QECR11MP3S0x00000bc30x0086d0d6
EthercatDevice_QECR00MP3S0x00000bc30x0086d0d9

構文

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

媒介変数

  • [in] int machine_axis
    EtherCATスレーブデバイス上の指定された機械軸の番号:
定義Value説明
ECAT_MACHINE_X_AXIS0X軸で、マッピングはconfigMachineAxisMapping()によって決定されます。
ECAT_MACHINE_Y_AXIS1Y軸で、マッピングはconfigMachineAxisMapping()によって決定されます。
ECAT_MACHINE_Z_AXIS2Z軸で、マッピングは configMachineAxisMapping()によって決定されます。
  • [in] double min
    設定するソフトウェアリミットの最小位置値 Pmin (ミリメートル単位)。
  • [in] double max
    設定するソフトウェアリミットの最大位置値 Pmax (ミリメートル単位)。

戻り値

error codeを返します。返された値が 0の場合、この関数が正常に完了したことを示します。

備考

この関数は、 EthercatMaster::begin()が正常に実行された後に呼び出す必要があります。 この関数はブロッキングされており、コールバック関数内で呼び出すことはできません。

#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 Class for more QEC Stepper Drivers instructions and API usage.

上部へスクロール