我想找...

搜尋

函式庫參考

目錄

motor.isTouchProbe2ValueReady()

[EtherCAT Device CiA402]

描述

Check if a positive or negative edge has occurred on the touch probe 2 signal source.

Relevant Objects

  • Object 60B9h: Touch probe status

語法

bool isTouchProbe2ValueReady(int value_selector);

參數

  • [in] value_selector
    Choose the event to check on touch probe 2:
定義代碼描述
CIA402_TPVALUE_POS_EDGE0Check if a positive edge has occurred on the touch probe 2 signal source.
CIA402_TPVALUE_NEG_EDGE1Check if a negative edge has occurred on the touch probe 2 signal source.

回傳值

Return whether a positive or negative edge has occurred on the touch probe 2 signal source.

備註

This function must be called after a successful execution of EthercatMaster::begin(). This function is non-blocking and can be called in callback functions if the related object is mapped to PDO.

範例程式碼

#include "Ethercat.h"

EthercatMaster master;
EthercatDevice_CiA402 motor;

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

  master.begin();
  motor.attach(0, master);

  motor.enableTouchProbe2(CIA402_TPMODE_FIRST_EVENT, CIA402_TPSRC_TP_INPUT, CIA402_TPTIMING_POS_EDGE);
  while (motor.isTouchProbe2ValueReady(CIA402_TPVALUE_POS_EDGE) == false);
  Serial.print("Touch probe position 2 positive value: ");
  Serial.println(motor.readTouchProbe2Value(CIA402_TPVALUE_POS_EDGE));
  motor.disableTouchProbe2();
}

void loop() {
  // put your main code here, to run repeatedly:

}

Please see the EtherCAT CiA 402 使用手冊 for more QEC EtherCAT instructions and API usage.

返回頂端