[EthercatDevice_DmpStepper_Generic]
説明
EtherCATスレーブデバイス上のマシンのソフトウェア制限機能を有効にします。ソフトウェア制限の詳細については、configMachineSoftLimit()を参照ください。
派生クラス:
| クラス名 | 製造者ID | 製品コード |
| EthercatDevice_QECR11MP3S | 0x00000bc3 | 0x0086d0d6 |
| EthercatDevice_QECR00MP3S | 0x00000bc3 | 0x0086d0d9 |
構文
int machineEnableSoftLimit();
媒介変数
なし
戻り値
error codeを返します。返された値が 0の場合、この関数が正常に完了したことを示します。
備考
この関数は、 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);
slave.configMachineSoftLimit(ECAT_MACHINE_X_AXIS, -50, 50);
slave.configMachineSoftLimit(ECAT_MACHINE_Y_AXIS, -50, 50);
slave.configMachineSoftLimit(ECAT_MACHINE_Z_AXIS, -50, 50);
master.attachCyclicCallback(CyclicCallback);
master.start();
slave.machineServoOn();
while (slave.machineIsServoOn() == 0);
slave.machineEnableSoftLimit();
slave.machineGcode("G1 X-100 Y-100 Z-100");
slave.machineGcode("G1 X100 Y100 Z100");
delay(10);
while (slave.machineIsMoving()) {
Serial.print("Acutal Position => ");
Serial.print("X: ");
Serial.print(slave.machineActualPosition(ECAT_MACHINE_X_AXIS), 2);
Serial.print(", Y: ");
Serial.print(slave.machineActualPosition(ECAT_MACHINE_Y_AXIS), 2);
Serial.print(", Z: ");
Serial.println(slave.machineActualPosition(ECAT_MACHINE_Z_AXIS), 2);
delay(10);
// ...
}
slave.machineServoOff();
while (slave.machineIsServoOn() == 1);
}
void loop() {
// ...
}Please see EthercatDevice_DmpStepper_Generic Class for more QEC Stepper Drivers instructions and API usage.