サイト内検索

検索

Shares

Table of Content

EthercatDevice.attach()

[Ethercat Device]

説明

このEtherCATスレーブデバイス・クラスのオブジェクトを初期化し、ネットワーク上のスレーブデバイスのIDに基づいて EthercatMaster クラスのオブジェクトに接続します。

構文

int attach(uint16_t slave_id, EthercatMaster *master, EthercatAttachMode mode = ECAT_SLAVE_NO);

int attach(uint16_t slave_id, EthercatMaster &master, EthercatAttachMode mode = ECAT_SLAVE_NO);

媒介変数

  • [in] uint16_t slave_id
    EtherCATバス上のスレーブデバイスのID。このIDの定義は、モード変数に基づいて決定されます。
  • [in] EthercatMaster *master
    接続する EthercatMaster クラスのオブジェクト。
  • [in] EthercatAttachMode mode
    slave_idの定義:
    1. ECAT_SLAVE_NO
      ネットワーク上のEtherCATスレーブデバイスのシーケンス番号で、0は最初のスレーブデバイス、1は2番目のスレーブデバイス、というように続きます。
    2. ECAT_ALIAS_ADDRESS
      ネットワーク上のスレーブデバイスのエイリアスアドレスで、スレーブデバイスのSII EEPROMのバイト・ オフセット8で定義されます。

戻り値

error codeを返します。返された値が 0の場合、この関数が正常に完了したことを示します。

備考

この関数は、 EthercatMaster::begin()が正常に実行された後で呼び出す必要があります。この関数はブロッキングされているため、循環コールバック関数内で呼び出すことができません。

#include "Ethercat.h"

EthercatMaster master;
EthercatDevice_Generic slave;

void setup() {
    master.begin();
    slave.attach(0, master);
    master.start();
}

void loop() { 
  //...

}

詳細は EtherCAT Library User Manual QEC EtherCAT命令とAPI使用法参照

上部へスクロール