[Ethercat Master]
説明
DC同期モードのグローバル・シフト時間を設定します。ユーザーがグローバル・シフト時間を設定しない、または INT32_MAX
に設定した場合、EtherCATファームウェアは適切な値を自動的に計算します。グローバルシフト時間の定義については、 1.5 同期を参照してください。.
構文
int setShiftTime(int32_t nanoseconds);
媒介変数
[in] int32_t nanoseconds
設定するグローバル・シフト時間の値で、ナノ秒単位。
戻り値
error codeを返します。返された値が 0の場合、この関数が正常に完了したことを示します。
備考
この関数は、 EthercatMaster::begin()
が正常に実行された後で、 EthercatMaster::start()
の前に、または、 EthercatMaster::stop()
が正常に実行された後で、 EthercatMaster::end()
の前に呼び出す必要があります。この関数はブロッキングされていないため、コールバック関数内で呼び出すことができますが、使用は推奨しません。
例
#include "Ethercat.h" EthercatMaster master; EthercatDevice_Generic slave; void setup() { master.begin(); slave.attach(0, master); slave.setDc(1000000); master.setShiftTime(250000); // 250000 ns master.start(1000000); } void loop() { // ... }
詳細は EtherCAT Library User Manual QEC EtherCAT命令とAPI使用法参照