サイト内検索

検索

Shares

Table of Content

EthercatDevice_DmpAIQ.analogWrite()

[EthercatDevice_DmpAIQ_Generic]

説明

EtherCATスレーブデバイスの指定されたアナログ出力チャンネルに値を書き込みます。

派生クラス:

クラス名製造者ID製品コードInput ChannelsOutput Channels
EthercatDevice_QECR11A44S0x00000bc30x0086d88044

構文

int analogWrite(int ch, int32_t value);

媒介変数

  • [in] int ch
    EtherCATスレーブデバイスの指定されたアナログ出力チャネル。
  • [in] int32_t value
    書き込むアナログ出力値。この変数は32ビットの符号付き整数で、その値は指定されたチャネルのモード構成に従って、次の規則によって実際の出力チャンネルに線形にマッピングされます:
    • .0の値は、電圧0V、231 は 64V、そして -231 は -64Vにマップします(即ち、225 は、1Vにマップされます)。
    • .0の値は、電流0A、231 は16A、 そして-231 は-16Aにマップされます (即ち、227 は、1Aにマップされます)。

戻り値

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

備考

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

#include "Ethercat.h"

EthercatMaster master;
EthercatDevice_QECR11A44S slave;

int voltage = 5;

void setup() {
  master.begin();
  slave.attach(0, master);
  master.start();
}

void loop() {
  slave.analogWrite(0, voltage << 25);
  delay(1000);
  slave.analogWrite(0, 0);
  delay(1000);
  slave.analogWrite(0, -1 * (voltage << 25));
  delay(1000);
  slave.analogWrite(0, 0);
  delay(1000);
}

Please see EthercatDevice_DmpAIQ_Generic Class for more QEC AIO slave instructions and API usage.

上部へスクロール