サイト内検索

検索

Shares

Table of Content

EthercatDevice_DmpStepper.machineIsLimitTouched()

[EthercatDevice_DmpStepper_Generic]

説明

EtherCATスレーブデバイス上の指定されたマシン軸のリミットスイッチがタッチされているかどうかを確認します。

派生クラス:

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

構文

int machineIsLimitTouched(int machine_axis);

媒介変数

  • [in] int machine_axis
    EtherCATスレーブデバイス上の指定された機械軸の番号:
定義Value説明
ECAT_MACHINE_X_AXIS0X軸で、マッピングはconfigMachineAxisMapping()によって決定されます。
ECAT_MACHINE_Y_AXIS1Y軸で、マッピングはconfigMachineAxisMapping()によって決定されます。
ECAT_MACHINE_Z_AXIS2Z軸で、マッピングはconfigMachineAxisMapping()によって決定されます。

戻り値

指定された機械軸のリミットスイッチがタッチされているかどうかを返します。

  • 1 means the Machine Limit Switch is touched.
  • 到達していなければ0です。

戻り値が0未満の場合、 error codeを示します。.

備考

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

この関数はEtherCATスレーブデバイスのGコード・コントローラ・モードでのみ動作します。詳細については、 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 Class for more QEC Stepper Drivers instructions and API usage.

上部へスクロール