[EthercatDevice_DmpAIQ_Generic]
Description
Write a value to the specified analog output channel on the EtherCAT slave device.
Derived Class:
| Class Name | Vendor ID | Product Code | Input Channels | Output Channels |
| EthercatDevice_QECR11A44S | 0x00000bc3 | 0x0086d880 | 4 | 4 |
Syntax
int analogWrite(int ch, int32_t value);
Parameters
[in] int ch
The specified analog output channel on the EtherCAT slave device.[in] int32_t value
The analog output value to be written. This parameter is a 32-bit signed integer whose value is linearly mapped to a physical output by the following rule, according to the mode configuration of the specified channel:- Voltage Mode: Maps a value of 0 to voltage 0V, 231 to 64V, and -231 to -64V. (i.e., 225 would get mapped to 1V.)
- Current Mode: Maps a value of 0 to current 0A, 231 to 16A, and -231 to -16A. (i.e., 227 would get mapped to 1A.)
Return Value
Return an error code. If the returned value is zero, it indicates a successful execution of this function.
Comment
This function must be called after a successful execution of EthercatMaster::start() and before EthercatMaster::stop(). This function is non-blocking and can be called within the callback functions.
Example
#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.