[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使用法参照