[EthercatDevice_DmpStepper_Generic]
説明
EtherCATスレーブデバイス上の指定されたエンコーダのカウンタの最大値を設定します。図に示すように、カウンタが最大値 (M) に達すると、カウンタはオーバーフローし、ゼロにリセットされ、 オーバーフロー ・イベントがトリガされます。逆に、カウンタがゼロに減分すると、アンダーフローし、最大値にリセットされ、 アンダーフロー ・イベントがトリガされます。この変数は、EtherCATスレーブデバイスのEEPROMに書き込まれ、起動時に読み込まれるため、ユーザーはプログラムを実行する前に毎回この変数を設定する必要はありません。
派生クラス:
| クラス名 | 製造者ID | 製品コード |
| EthercatDevice_QECR11MP3S | 0x00000bc3 | 0x0086d0d6 |
| EthercatDevice_QECR00MP3S | 0x00000bc3 | 0x0086d0d9 |
構文
int configEncoderRange(int encoder, uint32_t value);
媒介変数
[in] int encoder
指定されたエンコーダ番号:
| 定義 | Value | 説明 |
| ECAT_ENCODER_1 | 0x01 | EtherCATスレーブデバイス上のエンコーダ1 |
| ECAT_ENCODER_2 | 0x02 | EtherCATスレーブデバイス上のエンコーダ2 |
| ECAT_ENCODER_3 | 0x03 | EtherCATスレーブデバイス上のエンコーダ3 |
| ECAT_ENCODER_X | 0x11 | エンコーダXで、マッピングは configMachineAxisMapping()によって決定されます。 |
| ECAT_ENCODER_Y | 0x12 | エンコーダYで、マッピングはconfigMachineAxisMapping()によって決定されます。 |
| ECAT_ENCODER_Z | 0x13 | エンコーダZで、マッピングはconfigMachineAxisMapping()によって決定されます。 |
[in] uint32_t value
設定するエンコーダカウンタの最大値。
戻り値
error codeを返します。返された値が 0の場合、この関数が正常に完了したことを示します。
備考
この関数は、 EthercatMaster::begin()が正常に実行された後に呼び出す必要があります。 この関数はブロッキングされており、コールバック関数内で呼び出すことはできません。
例
#include "Ethercat.h"
EthercatMaster master;
EthercatDevice_QECR11MP3S slave;
void setup() {
master.begin();
slave.attach(0, master);
slave.configEncoderRange(ECAT_ENCODER_1, 8000);
slave.configEncoderRange(ECAT_ENCODER_2, 8000);
slave.configEncoderRange(ECAT_ENCODER_3, 8000);
// ...
}
void loop() {
// ...
}Please see EthercatDevice_DmpStepper_Generic Class for more QEC Stepper Drivers instructions and API usage.