These devices support the following features.
Functions
UL: cbAIn(), cbAInScan(), cbALoadQueue()*, cbFileAInScan(), cbATrig()
UL for .NET: AIn(), AInScan(), ALoadQueue()*, FileAInScan(), ATrig()
Python for Windows: a_in(), a_in_scan(), a_load_queue(), a_trig()
*The channel-gain queue is limited to 16 elements. Elements must contain unique contiguous channels, but the gains may be any valid value.
Options
BACKGROUND, BLOCKIO*, BURSTIO**, HIGHRESRATE***, EXTCLOCK, EXTTRIGGER, CONTINUOUS, NOCALIBRATEDATA, RETRIGMODE***, SCALEDATA***, SINGLEIO*
* The packet size is based on the Options setting. When set to BLOCKIO, the packet size is 62 samples. When set to SINGLEIO, the packet size equals the number of channels being sampled.
**BURSTIO can only be used with the number of samples (Count) set equal to the size of the FIFO or less. The FIFO holds 32,768 samples. Also, BURSTIO cannot be used with the CONTINUOUS option.
*** USB-1616FS-Plus only
HighChan
0 to 15 in single-ended mode
In BURSTIO mode, Count needs to be an integer multiple of the number of channels in the scan.
Count must be an integer multiple of the number of channels in the scan.
USB-1616FS:
200 kHz maximum for BURSTIO mode (50 kHz/s for any one channel).
For all other modes, the maximum rate per channel depends on the number of channels being scanned.
| No. of channels in the scan | Maximum rate |
| 1 or 2 | 50 kHz |
| 3 | 36 kHz |
| 4 | 30 kHz |
| 5 | 25 kHz |
| 6 | 22 kHz |
| 7 | 19 kHz |
| 8 | 17 kHz |
| 9 | 15 kHz |
| 10 | 14 kHz |
| 11 | 12.5 kHz |
| 12 | 12 kHz |
| 13 | 11.25 kHz |
| 14 | 10.5 kHz |
| 15 | 10 kHz |
| 16 | 9.5 kHz |
When using cbAInScan() or AInScan(), the minimum sample rate is 1 Hz. In BURSTIO mode, the minimum sample rate is 20 Hz/channel.
USB-1616FS-Plus:
1.6 MS/s maximum for BURSTIO mode (100 kS/s for any one channel).
For all other modes the rate is 400 kS/s nominal (100 kS/s for any one channel). Sampling at rates >400 kS/s may result in a data overrun on some systems. If errors occur, and the application requires fewer than 32,768 samples, consider a finite scan with BURSTIO mode enabled.
When using cbAInScan() or AInScan(), the minimum sample rate is 0.018 S/s (using HIGHRESRATE with Rate set to 18.)
Range
Single-ended:
| BIP10VOLTS (±10 volts) | BIP2VOLTS (±2 volts) |
| BIP5VOLTS (±5 volts) | BIP1VOLTS (±1 volts) |
USB-1616FS-Plus:
| BIP10VOLTS (±10 volts) | BIP1PT25VOLTS (±1.25 volts) |
| BIP5VOLTS (±5 volts) | BIP1VOLTS (±1 volts) |
| BIP2PT5VOLTS (±2.5 volts) | BIPPT625VOLTS (±0.625 volts) |
| BIP2VOLTS (±2 volts) | BIPPT312VOLTS (±0.3125 volts) |
Pacing
Hardware pacing, internal clock supported.
External clock supported via the SYNC terminal.
Functions
UL: cbSetTrigger()
UL for .NET: SetTrigger()
Python for Windows: set_trigger()
TrigType
TRIGPOSEDGE
TRIGNEGEDGE
External digital (TTL) hardware triggering supported. The hardware trigger source is TRIG_IN input terminal.
The USB-1616FS-Plus also supports the RETRIGMODE option in CONTINUOUS mode.
Configuration
UL: cbDConfigBit(), cbDConfigPort()
UL for .NET: DConfigBit(), DConfigPort()
Python for Windows: d_config_bit(), d_config_port()
PortNum
AUXPORT
PortType
AUXPORT
Port I/O
Python for Windows: d_in(), d_out()
PortNum
AUXPORT
DataValue
0 to 255 for AUXPORT
Bit I/O
UL: cbDBitIn(), cbDBitOut()
UL for .NET: DBitIn(), DBitOut()
Python for Windows: d_bit_in(), d_bit_out()
PortType
AUXPORT
BitNum
0 to 7 on AUXPORT
Functions
UL: cbCClear(), cbCIn()*, cbCIn32(), cbCLoad()**, cbCLoad32()**
UL for .NET: CClear(), CIn()*, CIn32(), CLoad()**, CLoad32()**
Python for Windows: c_clear(), c_in()*, c_in_32(), c_load()**, c_load_32()**
*Although cbCIn()/CIn()/c_in() are valid for use with this counter, cbCIn32()/CIn32()/c_in_32() may be more appropriate, since the values returned may be greater than the data types used by cbCIn() and CIn() can handle.
**cbCLoad()/cbCLoad32(), CLoad()/CLoad32(), and c_load()/c_load32() only accept Count=0. These functions are used to reset the counter.
CounterNum
1
Count
232-1 when reading the counter.
0 when loading the counter.
cbCLoad() and cbCLoad32() / CLoad() and CLoad32() are only used to reset the counter for this board to 0. No other values are valid.
The Basic signed integers guidelines apply when using cbCIn() or CIn() for values greater than 32,767 and when using cbCIn32() or CIn32() for values greater than 2,147,483,647.
Functions
UL: cbEnableEvent(), cbDisableEvent()
UL for .NET: EnableEvent(), DisableEvent()
Python for Windows: enable_event(), disable_event()
Event Types
ON_SCAN_ERROR (analog input), ON_DATA_AVAILABLE, ON_END_OF_INPUT_SCAN
Functions
UL: cbFlashLED()
UL for .NET: FlashLED()
Python for Windows: flash_led()
Causes the USB LED on a USB device to blink. When you have several devices connected, use this function to identify a particular device.
This hardware supports device detection with the API. Refer to the InstaCal, API Detection, or Both? section for information about whether to use InstaCal or the API to detect and configure hardware.
Factory serial number
Listed as Factory Serial No. (read only)
Identifier
Identifier text box
Enable SYNC output
Enable SYNC output checkbox
Hardware version
Listed as Firmware Version (read only)
Factory serial number
ConfigItem = BIDEVSERIALNUM
UL for .NET: GetDeviceSerialNum()
Python for Windows: get_config_string()
config_item = DEVSERIALNUM
Identifier
UL: cbGetConfig()
ConfigItem = BIUSERDEVIDNUM
UL for .Net: GetUserDeviceIdNum()
Python for Windows: get_config()
config_item = USERDEVIDNUM
Enable SYNC output
UL: cbGetConfig(), cbSetConfig()
ConfigItem = BIINPUTPACEROUT
ConfigVal = ENABLED, DISABLED
UL for .NET: GetInputPacerOut(), SetInputPacerOut()
Python for Windows: get_config(), set_config()
config_item = INPUTPACEROUT
config_val = State enum. When enabled, the input clock is set for output.
Hardware version
ConfigItem = BIDEVVERSION
DevNum = VER_FW_MAIN
UL for .NET: GetDeviceVersion()
Type = VersionType.FW_MAIN
Python for Windows: get_config_string()
config_item = DEVVERSION
dev_num = MAIN
The channel-gain queue is limited to 16 elements. The channel gains may be any valid value. The channels must be unique and listed in contiguous order.
Since the maximum data acquisition rate depends on the system connected to the USB-1616FS, it is possible to "lose" data points when scanning at higher rates. The Universal Library cannot always detect this data loss.
Most systems can sustain rates of 80 kS/s aggregate for the USB-1616FS, and 400 kS/s for the USB-1616FS-Plus. If you need to sample at higher rates than this, use the BURSTIO option explained below.
You can set the SYNC terminal as a pacer input or a pacer output from InstaCal. By default, this terminal is set for pacer input. If set for output, using the cbAInScan()/AInScan() option EXTCLOCK results in a BADOPTION error.
Allows higher sampling rates up to the size of the FIFO. The FIFO holds 32,768 samples. Data is collected into the USB device's local FIFO. Data transfers to the PC don't occur until the scan completes. For BACKGROUND scans, the Count and Index returned by cbGetStatus()/ GetStatus()/get_status() remain 0, and STATUS=RUNNING until the scan finishes. The Count and Index are not updated until the scan is completed. When the scan is complete and the data is retrieved, cbGetStatus() and GetStatus() are updated to the current Count and Index, and STATUS=IDLE.
USB-1616FS: BURSTIO is required for aggregate Rate settings above 100 kHz for the USB-1616FS, and 400 kS/s for the USB-1616FS-Plus, but Count is limited to sample counts up to the size of the FIFO (32,768 samples). Count settings must be an integer multiple of the number of channels in the scan (see Count above).
When running an analog input scan with the CONTINUOUS option, consider the packet size and the number of channels being scanned. To keep the data aligned properly in the array, you must configure the total number of samples to be an integer multiple of the packet size (62) and the number of channels in the scan.
USB-1616FS-Plus supports the RETRIGMODE option, but only in CONTINUOUS mode. Using this option with AInScan() immediately re-arms the trigger after a scan of TotalSamples completes, and the scan resumes on the next trigger.