[EthercatDevice_DmpStepper_Generic]
説明
EtherCATスレーブデバイス上の指定されたエンコーダのデジタル・フィルタを設定します。図に示すように、フィルタ帯域幅よりも狭い幅のパルスはフィルタリングされ、フィルタリングされなかったパルスはフィルタ帯域幅の時間だけ遅延されます。
この変数は EtherCATスレーブデバイスのEEPROMに書き込まれ、起動時に読み込まれるため、ユーザーはプログラムを実行する前に毎回この変数を設定する必要はありません。

派生クラス:
クラス名 | 製造者ID | 製品コード |
EthercatDevice_QECR11MP3S | 0x00000bc3 | 0x0086d0d6 |
EthercatDevice_QECR00MP3S | 0x00000bc3 | 0x0086d0d9 |
構文
int configEncoderDigitalFilter(int encoder, uint32_t width);
媒介変数
[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 | エンコーダZで、マッピングはconfigMachineAxisMapping() によって決定されます。 |
ECAT_ENCODER_Z | 0x13 | エンコーダZで、マッピングは configMachineAxisMapping() によって決定されます。 |
[in] uint32_t width
設定するエンコーダのデジタル・フィルタは10ナノ秒単位です。この値が100の場合、フィルタ幅は1000ナノ秒であることを意味します。
戻り値
error codeを返します。返された値が 0の場合、この関数が正常に完了したことを示します。
備考
この関数は、 EthercatMaster::begin()
が正常に実行された後に呼び出す必要があります。 この関数はブロッキングされており、コールバック関数内で呼び出すことはできません。
例
#include "Ethercat.h" EthercatMaster master; EthercatDevice_QECR11MP3S slave; void setup() { master.begin(); slave.attach(0, master); slave.configEncoderDigitalFilter(ECAT_ENCODER_1, 100); slave.configEncoderDigitalFilter(ECAT_ENCODER_2, 100); slave.configEncoderDigitalFilter(ECAT_ENCODER_3, 100); // ... } void loop() { // ... }
Please see EthercatDevice_DmpStepper_Generic Class for more QEC Stepper Drivers instructions and API usage.