[Ethercat Master]
説明
EtherCATマスタの状態を示す ECAT_ERR_CABLE_BROKEN エラーの内容を取得します。
構文
int errGetCableBrokenLocation2();
媒介変数
なし
戻り値
ケーブル断線箇所2を返します。
備考
この関数は、 エラー・コールバック内で呼び出す必要があります。.
例
#include <Ethercat.h>
EthercatMaster master;
bool CableBrokenLatched = false;
int CableBrokenLocation1;
int CableBrokenLocation2;
void ErrorCallback(uint32_t errorcode)
{
if (errorcode == ECAT_ERR_CABLE_BROKEN) {
if (CableBrokenLatched == false) {
CableBrokenLatched = true;
CableBrokenLocation1 = master.errGetCableBrokenLocation1();
CableBrokenLocation2 = master.errGetCableBrokenLocation2();
}
}
}
void setup() {
Serial.begin(115200);
master.attachErrorCallback(ErrorCallback);
master.begin();
master.start();
}
void loop() {
if (CableBrokenLatched == true) {
Serial.print("Cable broken between ");
if (CableBrokenLocation1 < 0) Serial.print("Primary Port");
else Serial.print("Slave "); Serial.print(CableBrokenLocation1);
Serial.print(" and ");
if (CableBrokenLocation2 < 0) Serial.println("Secondary Port");
else Serial.println("Slave "); Serial.println(CableBrokenLocation2);
CableBrokenLatched = false;
}
}詳細は EtherCAT Library User Manual QEC EtherCAT命令とAPI使用法参照