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