サイト内検索

検索

Shares

Table of Content

EthercatMaster.errGetCableBrokenLocation1()

[Ethercat Master]

説明

EtherCATマスタの状態を示す ECAT_ERR_CABLE_BROKEN エラーの内容を取得します。

構文

int errGetCableBrokenLocation1();

媒介変数

なし

戻り値

ケーブル断線位置 1を返します。

備考

この関数は、 エラー・コールバック内で呼び出す必要があります。.

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

上部へスクロール