サイト内検索

検索

Shares

Table of Content

EthercatMaster.setShiftTime()

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

上部へスクロール