[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.