PCI-2500 Series

The PCI-2500 Series includes the following hardware:

The PCI-2500 Series support the following UL and UL for .NET features.

Analog Input

Functions

UL: cbAIn(), cbAInScan(), cbFileAInScan(), cbAPretrig()*, cbATrig(), cbALoadQueue()

UL for .NET: AIn(), AInScan(), FileAInScan(), APretrig()*, ATrig(), ALoadQueue()

* Pretrigger capability is implemented in software. PretrigCount must be less than the TotalCount and cannot exceed 100000 samples. TotalCount must be greater than the PretrigCount. If a trigger occurs while the number of collected samples is less than the PretrigCount, that trigger will be ignored. Requires a call to cbSetTrigger/SetTrigger for the analog trigger type.

Options

BACKGROUND, BLOCKIO, CONTINUOUS, CONVERTDATA, DMAIO, EXTCLOCK, EXTTRIGGER, HIGHRESRATE

With EXTTRIGGER mode, the first channel in the scan is the analog trigger channel.

HighChan

PCI-2517, PCI-2515, PCI-2513:

0 to 15 in single-ended mode, 0 to 7 in differential mode

PCI-2511:

0 to 15 in single-ended mode

Rate

Up to 1 MHz

Range

PCI-2517, PCI-2515, PCI-2513:

BIP10VOLTS (±10 volts)BIPPT5VOLTS (±0.5 volts)
BIP5VOLTS (±5 volts)BIPPT2VOLTS (±0.2 volts)
BIP2VOLTS (±2 volts)BIPPT1VOLTS (±0.1 volts)
BIP1VOLTS (±1 volt) 

PCI-2511:

BIP10VOLTS (±10 volts) 

Analog Output (PCI-2517 and PCI-2515 only)

Functions

UL: cbAOut(), cbVOut(), cbAOutScan()

UL for .NET: AOut(), VOut(), AOutScan()

Options

ADCCLOCK, ADCCLOCKTRIG, BACKGROUND, CONTINUOUS, EXTCLOCK, NONSTREAMEDIO, SIMULTANEOUS

NONSTREAMEDIO can only be used with the number of samples set equal to the size of the FIFO or less. The FIFO holds 524288 samples.

HighChan

PCI-2517: 0 to 3

PCI-2515: 0 to 1

Rate

1 MHz

Range

Ignored - not programmable; fixed at BIP10VOLTS (±10 volts)

DataValue

0 to 65,535 (Refer to 16-bit values using a signed integer data type for information on 16-bit values using unsigned integers.)

Pacing

Hardware pacing, external or internal clock supported.

Digital I/O

Configuration

UL: cbDConfigPort()

UL for .NET: DConfigPort()

PortNum

FIRSTPORTA, FIRSTPORTB, FIRSTPORTC

PortType

FIRSTPORTA

Port I/O

UL: cbDIn(), cbDOut(), cbDInScan(), cbDOutScan()*

UL for .NET: DIn(), DOut(), DInScan(), DOutScan()*

*FIRSTPORTA and FIRSTPORTB must be set for output to use this function. Refer to DIO PortNum in the Hardware Considerations section below for more information.

Options

ADCCLOCK, ADCCLOCKTRIG, BACKGROUND, CONTINUOUS, EXTCLOCK, EXTTRIGGER, HIGHRESRATE, NONSTREAMEDIO, WORDXFER,

The EXTTRIGGER option can only be used with the cbDInScan() function. You can use the cbSetTrigger() function to program the trigger for rising edge, falling edge, or the level of the digital trigger input (TTL).

The WORDXFER option can only be used with FIRSTPORTA.

The NONSTREAMEDIO, ADCCLOCKTRIG, and ADCCLOCK options can only be used with the cbDOutScan() function.

The NONSTREAMEDIO option can only be used with the number of samples set equal to the size of the FIFO or less. The FIFO holds 524288 samples.

Rate

12 MHz

PortNum

FIRSTPORTA, FIRSTPORTB, FIRSTPORTC

DataValue

0 to 255

0 to 65,535 using the WORDXFER option with FIRSTPORTA

Bit I/O

UL: cbDBitIn(), cbDBitOut()

UL for .NET: DBitIn(), DBitOut()

PortType

FIRSTPORTA

BitNum

0 to 23

Counter Input

Functions

UL: cbCIn(), cbCIn32(), cbCConfigScan(), cbCInScan(), cbCClear()

UL for .NET: CIn(), CIn32(), CConfigScan, CInScan(), CClear()

Note: Counters on these boards are zero-based (the first counter number is "0").

Rate

6 MHz

CounterNum

0 to 3

Options

BACKGROUND, CONTINUOUS, EXTTRIGGER

You can use the cbSetTrigger() function to program the trigger for rising edge, falling edge, or the level of the digital trigger input (TTL).

Mode

When using Period and PulseWidth modes, note that the initial period is dependent upon the frequency of the signal being measured, a signal is required in order to latch data into the register, and the first sample in a scan is always zero, since it is not data that has been latched by the measured signal.

When using cbCIn()/CIn() and cbCIn32()/CIn32, PERIOD, PULSEWIDTH, and ENCODER modes are not available.

LoadValue

0 to 65,535 (Refer to "16-bit values using a signed integer data type" for information on 16-bit values using unsigned integers.)

Timer Output

Functions

UL: cbTimerOutStart(), cbTimerOutStop()

UL for .NET: TimerOutStart(), TimerOutStop()

TimerNum

0 to 1

Frequency

15.260 Hz to 1.0 MHz

Triggering

Functions

UL: cbSetTrigger()

UL for .NET: SetTrigger()

TrigType

TRIGABOVE, TRIGBELOW, TRIGHIGH, TRIGLOW, TRIGPOSEDGE, TRIGNEGEDGE

Digital triggering (TRIG_HIGH, TRIG_LOW, TRIGPOSEDGE, TRIGNEGEDGE) is not supported for pre-trigger acquisitions (cbAPretrig() function).

Analog triggering (TRIGABOVE, TRIGBELOW) is not supported for the cbDInScan() function and the cbCInScan() function.

Threshold

Analog hardware triggering, 12-bit resolution: 0 to 4,095 (supported for cbAInScan() only)

Analog software triggering, 16-bit resolution: 0 to 65,535 (supported for cbAPretrig() only)

Note: When the cbAInScan() EXTTRIGGER mode is enabled, the first channel in the scan is the analog trigger channel.

DAQ Input

Functions

UL: cbDaqInScan()

UL for .NET: DaqInScan()

Options

BACKGROUND, BLOCKIO, CONTINUOUS, CONVERTDATA, DMAIO, EXTCLOCK, EXTTRIGGER, HIGHRESRATE

ChanTypeArray

ANALOG, DIGITAL8, DIGITAL16, CTR16, CTR32LOW, CTR32HIGH, SETPOINTSTATUS

ChanArray

ANALOG:

DIGITAL8: FIRSTPORTA, FIRSTPORTB, FIRSTPORTC

DIGITAL16: FIRSTPORTA

CTR16: 0-3 counters

CTR32LOW: 0-3 counters

CTR32HIGH: 0-3 counters

SETPOINTSTATUS: 16-bit port that indicates the current state of the 16 possible setpoints.

ChanTypeArray flag value:

Rate

Analog: Up to 1 MHz.

Digital: Up to 12 MHz if no analog channel is selected. Otherwise up to 1 MHz.

Counter: Up to 12 MHz if no analog channel is selected. Otherwise up to 1 MHz.

GainArray

ANALOG only; ignore for other ChanTypeArray values.

PCI-2517, PCI-2515, PCI-2513:

BIP10VOLTS (±10 volts)BIPPT5VOLTS (±0.5 volts)
BIP5VOLTS (±5 volts)BIPPT2VOLTS (±0.2 volts)
BIP2VOLTS (±2 volts)BIPPT1VOLTS (±0.1 volts)
BIP1VOLTS (±1 volt) 

PCI-2511:

Ignored; fixed at BIP10VOLTS (±10 volts)

ChanCount

Number of elements in ChanArray, ChanTypeArray and GainArray. Up to 512 elements max.

PretrigCount

100000 max. This argument is ignored if the EXTTRIGGER option is not specified.

DAQ Triggering

Functions

UL: cbDaqSetTrigger()

UL for .NET: DaqSetTrigger()

TrigSource

TRIG_IMMEDIATE, TRIG_EXTTTL, TRIG_ANALOGHW, TRIG_ ANALOGSW, TRIG_DIGPATTERN, TRIG_COUNTER, TRIG_SCANCOUNT

TrigSense

RISING_EDGE, FALLING_EDGE, ABOVE_LEVEL, BELOW_LEVEL, EQ_LEVEL, NE_LEVEL

TrigEvent

START_EVENT, STOP_EVENT

DAQ Setpoint

Functions

UL: cbDaqSetSetpoints()

UL for .NET: DaqSetSetpoints()

SetpointFlagsArray

SF_EQUAL_LIMITA, SF_LESSTHAN_LIMITA, SF_GREATERTHAN_LIMITB, SF_OUTSIDE_LIMITS, SF_HYSTERESIS, SF_UPDATEON_TRUEONLY, SF_UPDATEON_TRUEANDFALSE

SetpointOutputArray

SO_NONE, SO_FIRSTPORTC, SO_TMR0, SO_TMR1

Also available for PCI-2515 and PCI-2517:

SO_DAC0, SO_DAC1

Also available for PCI-2517:

SO_DAC2, SO_DAC3

LimitAArray

Any value valid for the associated input channel.

Ignored for SF_GREATERTHAN_LIMITB

LimitBArray

Any value valid for the associated input channel and less than LimitA.

Ignored for SF_EQUAL_LIMITA, SF_LESSTHAN_LIMITA

Output#Array

For SetpointOutputArray = SO_NONE: Ignored

For SetpointOutputArray = SO_FIRSTPORTC: 0 to 65,535

For SetpointOutputArray = SO_TMR#: 0 (to disable the timer) or 15.26 to 1000000 (to set the output frequency)

For SetpointOutputArray = SO_DAC#: Voltage values between –10 and +10

OutputMask#Array>

For SetpointOutputArray = SO_FIRSTPORTC: 0 to 65,535

For SetpointOutputArray = all other values: Ignored

SetpointCount

0 (to disable setpoints) to 16

DAQ Output (PCI-2517 and PCI-2515 only)

Functions

UL: cbDaqOutScan()

UL for .NET: DaqOutScan()

Options

BACKGROUND, CONTINUOUS, EXTCLOCK, SIMULTANEOUS, NONSTREAMEDIO, ADCCLOCKTRIG, ADCCLOCK

ChanType

ANALOG, DIGITAL16

ChanArray

ANALOG:

PCI-2517: 0 to 3

PCI-2515: 0 to 1

DIGITAL16:

FIRSTPORTA (FIRSTPORTB must be configured as an output)

Rate

ANALOG: Up to 1 MHz.

DIGITAL16: Up to 12 MHz if no analog channel is selected. Otherwise up to 1 MHz.

Range

Ignored

Hardware considerations

Channel count

For input and output scans, the count must be set to an integer multiple of the number of channels or a BADCOUNT error is returned.

Sampling and update rates

Sampling and update rates are system-dependent. Data overruns/underruns may occur with higher sampling rates when using BACKGROUND and CONTINUOUS modes. To avoid this, use a larger buffer/count size, or use NONSTREAMEDIO mode, if supported.

The minimum size buffer is 256 for cbAOutScan(), cbDInScan(), and cbDOutScan(). Values less than that result in a BADBUFFERSIZE error.

Settling time

For most applications, settling time should be left at the default value of 1 µs. However, if you are scanning multiple channels and one or more channels are connected to a high impedance source, you may get better results by increasing the settling time. Keep in mind that increasing the settling time reduces the maximum acquisition rate. You can set the time between A/D conversions with the ADC Settling Time option in InstaCal. Select between 1 µs, 5 µs, 10 µs, or 1 ms.

Setpoints

You enable setpoints with the SETPOINT_ENABLE flag. This flag must be OR'ed with the ChanTypeArray argument values. You set the setpoint criteria with the cbDaqSetSetpoints()/DaqSetSetpoints(). The number of channels set with the SETPOINT_ENABLE flag must match the number of setpoints set by the SetpointCount argument (cbDaqSetSetpoints()/DaqSetSetpoints()).

Output non-streamed data to a DAC output channel

With NONSTREAMEDIO mode, you can output non-streamed data to a specific DAC output channel. The aggregate size of the data output buffer must be less than or equal to the size of the internal data output FIFO in the device. The FIFO holds 524288 samples. This allows the data output buffer to be loaded into the device's internal output FIFO. Once the sample data are transferred or downloaded to the device, the device is responsible for outputting the data. You can't make any changes to the output buffer once the output begins.

Trigger DAC output operations with the ADC clock

Specify the ADCCLOCKTRIG option to trigger a data output operation upon the start of the ADC clock.

DIO PortNum

For cbDOutScan()/DOutScan() and cbDaqOutScan()/DaqOutScan(), FIRSTPORTA and FIRSTPORTB are treated as one 16-bit port. These functions can only be used with FIRSTPORTA. You must configure both FIRSTPORTA and FIRSTPORTB for output using the cbDConfigPort() function.

Synchronous scanning with multiple boards

You can operate up to four PCI-2500 Series boards synchronously by setting the direction of the A/D and D/A pacer pins (XAPCR or XDPCR) in InstaCal.

On the board used to pace each device, set the pacer pin that you want to use (XAPCR or XDPCR) for Output. On the board(s) that you want to synchronize with this board, set the pacer pin that you want to use (XAPCR or XDPCR) for Input.

You set the direction using the InstaCal configuration dialog's XAPCR Pin Direction and XDPCR Pin Direction settings. If you have an older version of InstaCal, these settings might be labeled "ADC Clock Output" (set to Enabled to configure XAPCR for output) or "DAC Clock Output" (set to Enabled to configure XDPCR for output).

Wire the pacer pin configured for output to each of the pacer input pins that you want to synchronize.

Quadrature encoder operations

To configure a counter channel as a multi-axis quadrature encoder, use the cbCConfigScan()/CConfigScan() Mode argument values to set a specified counter to encoder mode, set the encoder measurement mode to X1, X2, or X4, and then set the count to be latched either by the internal "start of scan" signal (default) or by the signal on the mapped channel.

You can optionally perform the following operations:

Asynchronous reads

The CConfigScan() method's Bit32 counter mode option only affects counter resolution for asynchronous calls (CIn() and CIn32()), and only when the counter is configured for StopAtMax.

This mode is recommended for use only with CIn32(). Using the Bit32 option with CIn() is not very useful, since the value returned by CIn() is only 16 bits. The effect is that the value returned by CIn() rolls over 65,535 times before stopping.

PERIOD and PULSEWIDTH counter modes

When using Period and PulseWidth modes, note that the initial period is dependent upon the frequency of the signal being measured, a signal is required in order to latch data into the register, and the first sample in a scan is always zero, since it is not data that has been latched by the measured signal.

Concurrent operations

Concurrent operations are not allowed. If you invoke a function while another function is already running on the device, the ALREADYACTIVE error is returned.