United Electronic Industries DNx-AO-308-353 User manual

i
DNx-AO-308-353
—
User Manual
8-Channel, 16-bit, High Voltage
Analog Output Board, up to ±40V, ±5mA,
for the PowerDNA Cube and RACK Series Chassis
April 2020
PN Man-DNA-AO-308-353-0910
© Copyright 1998-2020 United Electronic Industries, Inc. All rights reserved.

ii
No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form
by any means, electronic, mechanical, by photocopying, recording, or otherwise without prior written
permission.
Information furnished in this manual is believed to be accurate and reliable. However, no responsibility
is assumed for its use, or for any infringement of patents or other rights of third parties that may result
from its use.
All product names listed are trademarks or trade names of their respective companies.
See the UEI website for complete terms and conditions of sale:
http://www.ueidaq.com/company/terms.aspx
Contacting United Electronic Industries
Mailing Address:
27 Renmar Avenue
Walpole, MA 02081
U.S.A.
For a list of our distributors and partners in the US and around the world, please see
http://www.ueidaq.com/partners/
Support:
Telephone: (508) 921-4600
Fax: (508) 668-2350
Also see the FAQs and online “Live Help” feature on our web site.
Internet Support:
Support:[email protected]
Web-Site: www.ueidaq.com
FTP Site: ftp://ftp.ueidaq.com
Product Disclaimer:
WARNING!
DO NOT USE PRODUCTS SOLD BY UNITED ELECTRONIC INDUSTRIES, INC. AS CRITICAL
COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS.
Products sold by United Electronic Industries, Inc. are not authorized for use as critical components in
life support devices or systems.A critical component is any component of a life support device or
system whose failure to perform can be reasonably expected to cause the failure of the life support
device or system, or to affect its safety or effectiveness.Any attempt to purchase any United Electronic
Industries, Inc. product for that purpose is null and void and United Electronics Industries, Inc. accepts
no liability whatsoever in contract, tort, or otherwise whether or not resulting from our or our
employees' negligence or failure to detect an improper purchase.
NOTE: Specifications may change from time to time. Contact UEI for current status of any specification
listed.

iii

iv
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353TOC.fm
© Copyright 2009
United Electronic Industries, Inc.
Table of Contents
Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 DNx-AO-308-353 Board. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.3 Programming with the High-Level API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.4 Programming with the Low-Level API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 The
DNA-AO-308 Series Analog Output Boards2
1.3 Device Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Board Connectors and Wiring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1 Connectors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.2 Interconnecting a DNx-AO-308-353 and a DNx-PC-913 . . . . . . . . . . . . . . . . . 6
Chapter 2 Programming with the High-Level API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 Programming with the Ueidaq Framework API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1 Creating a Session. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Configuring the Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.3 Configuring the Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.4 Writing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.5 Cleaning-up the Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapter 3 Programming with the Low-Level API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Configuration Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Channel List Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Data
Represent-
ation12
3.4 Board-specific Commands and Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5 Using the Board in ACB Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

v
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353LOF.fm
© Copyright 2009
United Electronic Industries, Inc.
List of Figures
1-1 . DNA-AO-308-353 Board.............................................................................................4
1-2 . Block Diagram of AO-308-353 Device Architecture................................................... 4
1-3 DB-37 I/O Connector Pinout of the AO-308-353.......................................................... 5
1-4 . DNx-PC-913 and AO-308-353 Interconnection Diagram............................................6
1-5 . Physical Layout of AO-308-353 Board........................................................................ 7
1-6 . Diagram of AO-308-353 Board Position Jumper Settings .......................................... 7

Chapter 1 1
Introduction
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap1.fm
© Copyright 2009
United Electronic Industries, Inc.
Chapter 1 Introduction
This document outlines the feature set and use of the DNx-AO-308-353,
an 8-channel, high voltage, analog output board.
1.1 Organization This DNx-AO-308-353 User Manual is organized as follows:
1.1.1 Introduction This chapter provides an overview of DNx-AO-308-353 board features,
accessories, and what you need to get started.
1.1.2 DNx-AO-308-
353 Board This chapter provides an overview of the device architecture,
connectivity, logic, and accessories for the DNx-AO-308-353 board.
1.1.3 Programming
with the High-
Level API
This chapter provides a general overview of procedures that show how
to create a session, configure the session, and generate output on a
DNx-AO-308-353 board, working with the UEIDAQ Framework High-
Level API.
1.1.4 Programming
with the Low-
Level API
This chapter describes the Low-LevelAPI commands for configuring and
using a DNx-AO-308-353 board.
Appendices
A. Accessories This appendix provides a list of accessories available for use with a
DNx-AO-308-353 board.
Index This is an alphabetical index of topics covered in this manual.
NOTE: A glossary of terms used with the PowerDNA Cube and Boards can be
viewed and/or downloaded from www.ueidaq.com.

Chapter 1 2
Introduction
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap1.fm
© Copyright 2009
United Electronic Industries, Inc.
Manual Conventions
To help you get themost out of this manual and our products, please note
that we use the following conventions:
Tips are designed to highlight quick ways to get the job done, or
reveal good ideas you might not discover on your own.
NOTE: Notes alert you to important information.
CAUTION! Caution advises you of precautions to take to avoid injury,
data loss, and damage to your boards or a system crash.
Text formatted in bold typeface generally represents text that should be
entered verbatim. For instance, it can represent a command, as in the
following example: “You can instruct users how to run setup using a
command such as setup.exe.”
1.2 The
DNA-AO-308
Series
Analog
Output
Boards
The DNx-AO-308 series of Analog Output boards includes the following
products:
•AO-308 16-bit, 8-channel, ±10V Analog Output board
•AO-308-350 16-bit, 8-channel, ±10V, High CurrentAnalog Output
board
•AO-308-353 16-bit, 8-channel, ±40V, High Voltage Analog Output
board
•AO-308-420 16-bit, 8-channel, 4-20 mA Current Analog Output
board
TheDNA-AO-308-353,DNR-AO-308-353,andDNF-AO-308-353boards
are compatible with the UEI Cube, RACKtangle, and FLATRACK chassis
respectively. These board versions are electrically identical and only
differ in mounting hardware. The DNAversion is designed to stack in a
cube chassis. The DNR/F versions are designed to plug into the
backplane of a RACK chassis. For brevity we will refer to all form factors
of the board simply as theAO-308-353 throughout the rest of the manual.
This manual describes the AO-308-353 High Voltage, 16-bit, 8-channel,
±40V Analog Output board only The other products in the series are
described in separate documents.

Chapter 1 3
Introduction
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap1.fm
© Copyright 2009
United Electronic Industries, Inc.
Using an AO-308-353 instead of anAO-308 boosts voltage capability to
±40V per channel. It uses a ±45V source, supplied from an external
supply or internally by the addition of a DNA-PC-913 Power Conversion
board mounted in the UEI chassis.
The technical specifications for the AO-308-353 High Voltage Analog
Output board are listed in Table 1-1.
Table 1-1. DNA-AO-308-353 Technical Specifications
p
Number of Channels 8
Resolution 16 bits
Max Update Rate:
@ 16-bit resolution
@ 12-bit resolution
@ 9-bit resolution
100 kHz/channel (800kHz max aggregate)
200 kHz/channel (800kHz max aggregate)
400 kHz/channel (800kHz max aggregate)
Buffer Size 1K samples
Type of D/A double-buffered
INL (no load) ±1 LSB (0.003%)
DNL (no load) ±1 LSB (0.003%)
Monotonicity Over
Temperature
16 bits
Gain Linearity Error 0.002%
Gain Calibration Error ±1 mV
Offset Calibration Error ±1 mV
Offset Drift 5ppm/°C
Gain Drift 5ppm/°C
Output Range ±40V
Output Coupling DC
Output Impedance 0.1Ω max
Current Drive ±5mA/channel
Capacitive Loads 500 pF
Settling Time 10 μs to 16 bits
Slew Rate 10 V/μs
Isolation 350Vrms
Power Consumption21.8W - 5W
Physical Dimensions 3.875” x 3.875” (98 x 98 mm)
Operating Temp. (tested) -40°C to +85°C
Operating Humidity 90%, non-condensing
2If the total power consumption of the layer is over the 4.5W, the DNA-FANx rear-
mount cooling fan is required. Refer to the Typical Performance Characteristics for
more details.
1If the total power consumption of the board is over 4.5W, a DNA-FANx rear-mount
cooling fan is required. Refer to the Typical Performance Characteristics for more
detail.

Chapter 1 4
Introduction
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap1.fm
© Copyright 2009
United Electronic Industries, Inc.
Figure 1-1 is a photo of the DNA-AO-308-353 board.
Figure 1-1. DNA-AO-308-353 Board
1.3 Device
Architecture The AO-308-353 High Voltage Analog Output board has eight individual
analog output channels. ABlock Diagram of the board is shown in
Figure 1-2.
Figure 1-2. Block Diagram of AO-308-353 Device Architecture
// /
DB-37 (female)
37-pin I/O connector
120-pin DNA
Board Position Jumpers
IRQ Jumpers (Do not change)
Power Connector
bus connector
(see Figure 1-4)
Analog Output Connector
32-bit 66-MHz bus
Optical Isolation
Calibration
Reference
Protection
Control
Logic
Control
Logic
Calibration
EEPROM
16-bit
D/A
... ...
16-bit
D/A
HV
Boost
HV
Boost
DC/DC (2W)
AOut0
DIO (3)
-15V (20mA)
±45V
+15V (20mA)
AOut0Ground
AOut7
AOut7Ground
TDNA-PC-903
OR
g
913

Chapter 1 5
Introduction
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap1.fm
© Copyright 2009
United Electronic Industries, Inc.
1.4 Board
Connectors
and Wiring
Since the AO-308-353 High Voltage Analog Output board is designed
with output buffers, separate sense lines are not provided. To minimize
error due to differences in lead resistance, be sure to use equal length
signal and return lines.
1.4.1 Connectors The pinout of the 37-pin connector for the AO-308-353 board is shown in
Figure 1-3.Adiagram for using the PC-913 for supplying external power
to the AO-308-353 is shown in Figure 1-6.
.
Figure 1-3 DB-37 I/O Connector Pinout of the AO-308-353
Note: If powering externally,
connect ±45V power supply to
pins +VEXT (25) and -VEXT (6).
DB-37 (female)
37-pin connector:
AOUT0 GND 37 19 AGND
AGND 36 18 AOUT0
AOUT1 35 17 AOUT1 GND
AOUT2 GND 34 16 AGND
AGND 33 15 AOUT2
AOUT3 32 14 AOUT3 GND
AOUT4 GND 31 13 AGND
AGND 30 12 AOUT4
AOUT5 29 11 AOUT5 GND
AOUT6 GND 28 10 AGND
AGND 27 9 AOUT6
AOUT7 26 8 AOUT7 GND
+VEXT (140mA fused) 25 7 AGND
AGND 24 6 –VEXT (140mA fused)
AGND 23 5 AGND
DIO2 22 4 DIO1
AGND 21 3 DIO0
–15V (20mA) OUT 20 2 +15V (20mA) OUT
1AGND

Chapter 1 6
Introduction
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap1.fm
© Copyright 2009
United Electronic Industries, Inc.
1.4.2 Intercon-
necting a DNx-
AO-308-353
and a DNx-PC-
913
Using an AO-308-353 with a DNx-PC-913 as the ±45V external power
supply requires interconnections between the two boards as shown in
Figure 1-4 below.
Figure 1-4. DNx-PC-913 and AO-308-353 Interconnection Diagram
g
DB-37 (female)
37-pin connector:
AOUT0 GND 37 19 AGND
AGND 36 18 AOUT0
AOUT1 35 17 AOUT1 GND
AOUT2 GND 34 16 AGND
AGND 33 15 AOUT2
AOUT3 32 14 AOUT3 GND
AOUT4 GND 31 13 AGND
AGND 30 12 AOUT4
AOUT5 29 11 AOUT5 GND
AOUT6 GND 28 10 AGND
AGND 27 9 AOUT6
AOUT7 26 8 AOUT7 GND
+VEXT (140mA fused) 25 7 AGND
AGND 24 6 –VEXT (140mA fused)
AGND 23 5 AGND
DIO2 22 4 DIO1
AGND 21 3 DIO0
–15V (20mA) OUT 20 2 +15V (20mA) OUT
1AGND
DNx-PC-913
Ext PWR+ 37 19 Ext PWR+
DGND 36 18 –45V
DGND 35 17 –45V
DGND 34 16 –45V
DGND 33 15 –45V
DGND 32 14 –45V
DGND 31 13 –45V
DGND 30 12 –45V
DGND 29 11 N/C
DGND 28 10 N/C
DGND 27 9 N/C
DGND 26 8 +45V
DGND 25 7 +45V
DGND 24 6 +45V
DGND 23 5 +45V
DGND 22 4 +45V
DGND 21 3 +45V
Ext PWR Ret 20 2 +45V
1Ext PWR Ret
+45V -45V
Connect -45V external power to Pin 6
of DNx-308-353 DB-37 connector.
Connect +45V external power to Pin 25
of DNx-AO-308-353 DB-37 connector.
Connect any DGND pin of DNx-PC-913
to AGND Pins 5, 7, 23, and 24 of the DB-37
connector of the DNx-AO-308-353
DB-37 Connector
of
DNx-PC-913
DB-37 Connector
of
DNx-AO-308-353
Interconnection Between DNx-PC-913 and DNx-AO-308-353
DB-37 connector.
To AGND
Pins 5,7,23, 24

Chapter 1 7
Introduction
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap1.fm
© Copyright 2009
United Electronic Industries, Inc.
Figure 1-5. Physical Layout of AO-308-353 Board
1.4.2.1 Jumper
Settings A diagram of the jumper block is shown in Figure 1-5. To set the board
position jumpers, place jumpers as shown in Figure 1-6.
Figure 1-6. Diagram of AO-308-353 Board Position Jumper Settings
DNA 120-pin Bus Connector
DB-37 I/O Connector
Power
Connector
Factory Use Only
External Circuits
16
J1
15
2
1
864
357
14
13
12
11
10
9
See Figure 1-5 for
jumper locations for
setting board position.
Layer’s Position as marked on the Faceplate*
I/O 1I/O 2I/O 3I/O 4I/O 5I/O 6
Jx Pins
9-10
11-12
13-14
15-16
*
All I/O Layers are sequentially enumerated from top to the bottom of the Cube
-
Open - Closed

Chapter 2 8
Programming with the High-Level API
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap2.fm
© Copyright 2009
United Electronic Industries, Inc.
Chapter 2 Programming with the High-Level API
2.1 Programming
with the
Ueidaq
Framework
API
This section describes how to program the AO-308x family of boards
(AO-308, AO-308-350, AO-308-353, AO-308-420) using the UeiDaq
Framework High-Level API.
The UeiDaq Framework is object-oriented. Its objects can be
manipulated in the same manner within various development
environments, such as Visual C++, Visual Basic, or LabVIEW.
Although the following section focuses on the C++API, the concept is the
same for any programming language you use.
Please refer to the “UeiDaq Framework User Manual” for more
information on using other programming languages.
Please refer to the examples that come with the UeiDaq Framework.
They contain detailed and commented code that can be compiled and
executed.
2.1.1 Creating a
Session The Session object controls all operations on your PowerDNA device.
Therefore, the first task is to create a session object, by entering:
CUeiSession session;
2.1.2 Configuring
the Channels Framework uses resource strings to select which device, subsystem,
and channels you use within a session. The resource string syntax is
similar to a web URL, as:
<device class>://<IP address>/<Device Id>/
<Subsystem><Channel list>
For PowerDNA, the device class is pdna.
For example, the following resource string selects analog output
channels 0,1 on device 1 at IP address 192.168.100.2: “pdna://
192.168.100.2/Dev1/Ao0:1”
// Configure channels 0,1 with an output
// range of ±40V
session.CreateAOChannel("pdna://192.168.100.2/
Dev0/ao0:1",-40.0, 40.0);
2.1.3 Configuring
the Timing You can configure the AO-308-353 series boards to run either in simple
mode (point by point) or buffered mode (ACB mode).
In simple mode, the delay between samples is determined by software
on the host computer.
In buffered mode, the delay between samples is determined by the AO-
308-353 on-board clock.

Chapter 2 9
Programming with the High-Level API
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap2.fm
© Copyright 2009
United Electronic Industries, Inc.
The following sample shows how to configure the simple mode. Please
refer to the “UeiDaq Framework User Manual” to learn how to use the
other timing modes.
session.ConfigureTimingForSimpleIO();
2.1.4 Writing Data Writing data to the AO-308-353 board is done with a writer object. You
can create a writer object that writes raw data straight to the D/A
converter. You can also create a writer object that writes data scaled to
volts. Framework automatically performs a conversion to binary code
before sending the data to the D/A converter.
The following sample code shows how to create a scaled writer object
and write a sample.
// Create a reader and link it to the
// session’s stream
CueiAnalogScaledWriter
writer(session.GetDataStream());
// write one scan, the buffer must contain
// one value
// for each channel
double data[2] = {0.0, 0.0};
writer.WriteSingleScan(data);
Similarly, you can create a raw writer object by entering the following:
// Create a reader and link it to the session’s stream
CUeiAnalogRawWriter writer(session.GetDataStream());
// write one scan, the buffer must contain one value
// for each channel
uInt16 data[2] = {0x1234, 0x5678};
writer.WriteSingleScan(data);
All the AO-308x analog output s are programmed the same way.
2.1.5 Cleaning-up
the Session The session object cleans itself up when it goes out of scope or when it
is destroyed. If you want to reuse the object with a different set of
channels or parameters, you can manually clean up the session with the
following:
session.CleanUp();

Chapter 3 10
Programming with the Low-Level API
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap3.fm
© Copyright 2009
United Electronic Industries, Inc.
Chapter 3 Programming with the Low-Level API
This section describes how to program the PowerDNA cube using the
low-level API. The low-level API offers direct access to PowerDNA
DAQBIOS protocol and also allows you to access device registers
directly.
We recommend that, where possible, you use the UeiDaq Framework
high-level API (see “Programming with the Ueidaq Framework API” on
page 8), which is easier to use than the low-levelAPI.
You need to use the low-level API only if you are using an operating
system other than Windows.
3.1 Configuration
Settings Configuration settings are passed in DqCmdSetCfg() and
DqAcbInitOps() functions.
Not all configuration bits apply to DNA-AO-308x series (AO-308, AO-
308-350,AO-308-353,AO-308-420) boards, however. The following bits
make sense:
#define DQ_FIFO_MODEFIFO (2L << 16)
// continuous acquisition with FIFO
#define DQ_LN_MAPPED (1L<<15)
// For WRRD (DMAP) devices
//(automatically selected)
#define DQ_LN_STREAMING (1L<<14)
// For RDFIFO devices - stream the FIFO data
//(automatically selected) For WRFIFO - do NOT
//send reply to WRFIFO unless needed
#define DQ_LN_IRQEN (1L<<10) //enable irqs
#define DQ_LN_PTRIGEDGE1 (1L<<9)
// stop trigger edge MSB
#define DQ_LN_PTRIGEDGE0 (1L<<8)
// stop trigger edge: 00 - software,
// 01 - rising, 02 – falling
#define DQ_LN_STRIGEDGE1 (1L<<7)
// start trigger edge MSB
#define DQ_LN_STRIGEDGE0 (1L<<6)
// start trigger edge: 00 - software,
//01 -rising, 02 - falling
#define DQ_LN_CVCKSRC1 (1L<<5)
// CV clock source MSB
#define DQ_LN_CVCKSRC0 (1L<<4)
// CV clock source 01 - SW,10 - HW, 11 –EXT
#define DQ_LN_CLCKSRC1 (1L<<3)
// CL clock source MSB
#define DQ_LN_CLCKSRC0 (1L<<2)
// CL clock source 01 - SW,10 - HW,11 –EXT
#define DQ_LN_ACTIVE (1L<<1)

Chapter 3 11
Programming with the Low-Level API
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap3.fm
© Copyright 2009
United Electronic Industries, Inc.
// "STS" LED status
#define DQ_LN_ENABLED (1L<<0)
// enable operations
For streaming operations with hardware clocking, select the following
flags:
DQ_LN_ENABLE | DQ_LN_CVCKSRC0 | DQ_LN_STREAMING |
DQ_LN_IRQEN | DQ_LN_ACTIVE | DQ_AO308_BI10
AO-308x has a range of -specific settings - as follows:
The following modes are reserved for future use:
#define DQ_AO308_MODEFIFO (1L << 19)
// continuous output with FIFO
#define DQ_AO308_MODECONT (2L << 19)
// waveform mode – continuous
#define DQ_AO308_MODECYCLE (3L << 19)
// waveform mode – regenerate
#define DQ_AO308_MODEWFGEN (4L << 19)
// waveform mode - hardware
DQ_LN_ENABLE enables all operations with the . DQ_LN_CVCKSRC0
selects the internal channel list clock (CL) source as a timebase.AO-308
supports CV clock.
DQ_LN_ACTIVE is needed to switch on “STS” LED on the CPU .
You can select either the CL or CV clock as a timebase. Because of the
parallel architecture ofAO-308x , either clock triggers all converters.
Aggregate rate = Per-channel rate * Number of
channels
Note that acquisition rate cannot be selected on per-channel basis.

Chapter 3 12
Programming with the Low-Level API
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap3.fm
© Copyright 2009
United Electronic Industries, Inc.
3.2 Channel List
Settings The AO-308x boards have the following channel list structure:
3.3 Data
Represent-
ation
AO-308x boards have 16-bit straight binary data representation, as
shown in below.
To convert voltage into anA/D representation, use the following formula:
Raw = (Volt+Offset)/(Span/0xFFFF),
where Volt is the desired level in volts.
To convert current intoA/D representation (AO-308-420 only), use the
following formula:
Raw = (mA+Offset)/(Span/0xFFFF),
where mA is the desired level in mA.
Bit Name Purpose Comments
31 LNCL_NEXT Tells firmware that there is a
next entry n the channel list
21 DQ_LNCL_UPDALL Check update line to update all
DACs. Reserved
20 DQ_LNCL_WRITE Write data into the DAC, but do
not update. Reserved
7...0 Channel number
Board Range/
Value 0x0 0x8000 0xFFFF Span Offset
AO-308, 350, ±10V -10V 0 +10V 20V 0
AO-308-353 ±40V -40V 0 +40V 80V 0
AO-308-420 4-20mA 4mA 12mA 20mA 16mA 4mA

Chapter 3 13
Programming with the Low-Level API
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap3.fm
© Copyright 2009
United Electronic Industries, Inc.
3.4 Board-
specific
Commands
and
Parameters
Board-specific functions are described in the DaqLibHL.h file.
DqAdv30xWrite()
This function works using underlying DqCmdIoctl(). It uses the
DQCMD_IOCTL command with the DQIOCTL_CVTCHNL function.
When this function is called for the first time, the firmware terminates any
ongoing operation on the device.
Then, the firmware parses the channel list and writes the passed values
one by one.
Therefore, you cannot perform this function call when the is involved in
any streaming or data mapping operations.
Every write to the channel takes approximately 3.3µs. Thus, execution
time for this function depends on the number of channels in the channel
list.
3.5 Using the
Board in
ACB Mode
This is a pseudo-code example that highlights the sequence of functions
needed to useACB on the 308x boards. A complete example with error
checking can be found in the directory SampleACB30x.
Note that we use the #defines for a 30x for a DNA-AO-308x .
#include "PDNA.h"
// unit configuration word
#define CFG308 (DQ_LN_ENABLED \
|DQ_LN_ACTIVE \
|DQ_LN_GETRAW \
|DQ_LN_IRQEN \
|DQ_LN_CVCKSRC0 \
|DQ_LN_STREAMING \
|DQ_AI30x_MODEFIFO
|DQ_AO30x_BI10)
uint32 Config = CFG30x;
STEP 1: Start DQE engine.
#ifndef _WIN32
DqInitDAQLib();
#endif
// Start engine
DqStartDQEngine(1000*1, &pDqe, NULL);
// Open communication with IOM
hd0 = DqOpenIOM(IOM_IPADDR0, DQ_UDP_DAQ_PORT,
TIMEOUT_DELAY, &RdCfg);
// Receive IOM crucial identification data
DqCmdEcho(hd0, DQRdCfg);
// Set up channel list
for (n = 0; n < CHANNELS; n++) {

Chapter 3 14
Programming with the Low-Level API
Tel: 508-921-4600 www.ueidaq.com Vers: 1.4
Date: September 2010 File:AO-308-353 Chap3.fm
© Copyright 2009
United Electronic Industries, Inc.
CL[n] = n;
}
STEP 2: Create and initialize host and IOM sides.
// Now we are going to test device
// DqAcbCreate(pDqe, hd0, DEVN, DQ_SS0IN, &bcb);
// Let’s assume that we are dealing with AI-201
//device
dquser_initialize_acb_structure();
// Now call the function
DqAcbInitOps(bcb,
&Config,
0, //TrigSize,
NULL, //pDQSETTRIG TrigMode,
&fCLClk,
0, //float* fCVClk,
&CLSize,
CL,
0, //uint32* ScanBlock,
&acb);
printf("Actual clock rate: %f\n", fCLClk);
// Now set up events
DqeSetEvent(bcb,
DQ_eFrameDone|DQ_ePacketLost|DQ_eBufferError|DQ_eP
acketOOB);
// Allocate data buffer
datta = dquser_allocatebuffer();
// Pre-fill ACB with raw data
dquser_prefillbuffer(data);
DqAcbPutScansCopy(bcb, data, // buffer
bufsize, // buffer size in
//scans
bufsize, // minimum size
&size, // actual copied
//size (from user
// buffer into ACB)
&avail);
// available free
// space in buffer
STEP 3: Start operation.
// Start operations
DqeEnable(TRUE, &bcb, 1, FALSE);
Table of contents
Popular Control Unit manuals by other brands

Digi
Digi XBee user guide

HP
HP 572018-B21 specification

Becker
Becker Centronic UnitControl UC520 Assembly and operating instructions

Overkiz
Overkiz Hattara DIN Rail PSU quick start guide

Azbil
Azbil Actival VY51 J Series Specifications & instructions

Aventics
Aventics CONTROLAIR HC-2 Series Service information

Harvia
Harvia CX30C-U1-XW Instructions for installation and use

Leviton
Leviton 73A00-3ZB Installation instructions and user guide

Vimar
Vimar By-alarm 01709 quick start guide

Realtek
Realtek RTL8821AE user manual

SCHUNK
SCHUNK ELKE 24/2F Assembly and operating manual

Vertiv
Vertiv eSure R48-3500e3 user manual