サイト内検索

検索

Shares

Table of Content

EthercatDevice.readSII()

[Ethercat Device]

説明

該当するEtherCATスレーブデバイスの指定されたオフセット値から始まる一定のサイズのSII EEPROMのデータを読み込みます。

構文

int readSII(uint32_t offset, void *data, size_t len, uint32_t timeout_ms = 500);

媒介変数

  • [in] uint32_t offset
    該当する EtherCATスレーブデバイスのSII EEPROMのオフセット値。
  • [in] void *data
    SII EEPROMを読み込むためのデータ・バッファ。
  • [in] size_t len
    SII EEPROMを読み込むためのデータ・バッファのサイズ。
  • [in] uint32_t timeout_ms
    タイムアウト値で、ミリ秒単位。

戻り値

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

備考

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

#include "Ethercat.h"

EthercatMaster master;
EthercatDevice_Generic slave;

uint8_t buffer[4];

void setup() {
  Serial.begin(115200);

  master.begin();
  slave.attach(0, master);
}

void loop() {
  slave.readSII(0, buffer, 4);  // Read SII data
  Serial.print("Buffer: ");
  Serial.print(buffer[0], HEX);
  Serial.print(", ");
  Serial.print(buffer[1], HEX);
  Serial.print(", ");
  Serial.print(buffer[2], HEX);
  Serial.print(", ");
  Serial.println(buffer[3], HEX);
  delay(1000);
}

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

上部へスクロール