[Ethercat Device]
説明
EtherCATスレーブデバイスの分散クロック (DC) パラメータを設定します。この関数には、設定する3つのDCパラメータがあります:
- DCサイクル時間 0 は、SYNC0信号のサイクル時間を設定するために使用され、通常は EtherCAT通信サイクル時間と一致します。
- DCサイクル時間1 は、SYNC1信号のサイクル時間を設定するために使用され、SYNC0パルス後に定義される遅延時間を指します。このパラメータはオプションです。
- DCシフト時間 は、DCベースに対するSYNC0信号のオフセットを設定するために使用されます。

構文
int setDc(uint32_t cycletime0_ns, int32_t shifttime_ns = 0, uint32_t cycletime1_ns = 0);
媒介変数
[in] uint32_t cycletime0_ns
ナノ秒で、DC SYNC0サイクル時間[in] int32_t shifttime_ns
ナノ秒で、DC SYNC0シフト時間[in] uint32_t cycletime1_ns
ナノ秒で、DC SYNC1サイクル時間
戻り値
error codeを返します。返された値が 0の場合、この関数が正常に完了したことを示します。
備考
この関数は、 EthercatMaster::begin() が正常に実行された後で、 EthercatMaster::start()が正常に実行された後で呼び出す必要があります。この関数はブロッキングされているため、循環コールバック関数内で呼び出すことができません。
例
#include "Ethercat.h"
EthercatMaster master;
EthercatDevice_Generic slave;
void setup() {
master.begin();
slave.attach(0, master);
slave.setDc(1000000);
master.start(1000000);
}
void loop() {
// put your main code here, to run repeatedly:
}詳細は EtherCAT Library User Manual QEC EtherCAT命令とAPI使用法参照