# USB-TEMP Series, USB-TC Series

The USB-TEMP Series includes the following hardware:

- USB-TEMP
- USB-TEMP-AI

The USB-TC Series includes the following hardware:

- USB-TC
- USB-TC-AI

The USB-TEMP Series and the USB-TC Series support the following UL and UL for .NET features.

## Temperature input

Functions

UL: cbTIn(), cbTInScan()

UL for .NET: TIn(), TInScan()

Python for Windows: t_in(), t_in_scan()

Options

N/A

Scale

CELSIUS, FAHRENHEIT, KELVIN, NOSCALE*

*Refer to NOSCALE in the Hardware considerations section below for more information on this option.

HighChan

USB-TEMP and USB-TC: 0 to 7

USB-TEMP-AI and USB-TC-AI: 0 to 3

## Voltage input (USB-TEMP-AI and USB-TC-AI)

Functions

UL: cbVIn()

UL for .NET: VIn()

Python for Windows: v_in()

Options

N/A

HighChan

0 to 3

Range

This board uses the Range set in InstaCal, so the Range argument to this function is ignored.

## Digital I/O

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

UL: cbDIn(), cbDOut()

UL for .NET: DIn(), DOut()

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

## Counter I/O (USB-TEMP-AI and USB-TC-AI)

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(), CIn(), and c_in() 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 in the Digital Input/Hardware topic 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.

RegNum

1

## Miscellaneous

Functions

UL: cbFlashLED()

UL for .NET: FlashLED()

Python for Windows: flash_led()

Causes the LED on a USB device to blink. When you have several devices connected to the computer, use this function/method to identify a particular device.

## Configuration

#### InstaCal

Factory serial number

Listed as Factory Serial No. (read only)

Identifier

Identifier text box

Thermocouple type

Chan 0: through Chan 7: drop-down combo box

Input mode (USB-TC-AI only)

Mode drop-down combo box for single-ended or differential for each channel.

Note: The above settings are stored on the USB-TC-AI device.

Range (USB-TC-AI only)

Range drop-down combo box for each channel.

Hardware version

Listed as Firmware Version (read only)

#### Programmable API Functions

Factory serial number

UL: cbGetConfigString()

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

Python for Windows: get_config()

config_item = USERDEVIDNUM

Thermocouple type

UL: cbGetConfig(), cbSetConfig()

ConfigItem = BICHANTCTYPE

ConfigVal = TC_TYPE_J, TC_TYPE_K, TC_TYPE_R, TC_TYPE_S, TC_TYPE_B, TC_TYPE_E, TC_TYPE_T, TC_TYPE_N

UL for .NET: GetChanTcType(), SetChanTcType()

Python for Windows: get_config(), set_config()

config_item = CHANTCTYPE

config_val = TcType enum

Input mode (USB-TC-AI only)

UL: cbAChanInputMode(), cbAInputMode(),

UL for .NET: AChanInputMode(), AInputMode()

Note: The above settings are stored on the USB-TC-AI device.

Python for Windows: a_input_mode

Range (USB-TC-AI only)

UL: cbGetConfig(), cbSetConfig()

ConfigItem = BIRANGE

DevNum = Channel number

ConfigVal = Range value

UL for .NET: GetRange(), SetRange()

Python for Windows: get_config(), set_config()

config_item = RANGE

dev_num = channel number

config_val = Range

Hardware version

UL: cbGetConfigString()

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

## Hardware considerations

##### Retrieving data from the Windows buffer

Since USB-TEMP Series and USB-TC Series are high resolution devices, use WinBufAlloc32Ex() to allocate the buffer, and WinBufToArray32() to retrieve data from the buffer.

##### Pacing temperature readings

The internal update rate for measurements is a fixed value for these devices. If the UL reads the device faster than the internal update rate, readings "repeat." For example, if using cbTIn()/TIn() in a loop to measure a rapidly changing temperature, readings do not change for several iterations of the loop, then "jump" when the update occurs internally

##### Using single sensors with cbTInScan()

When using single sensors for RTD or thermistor sensors, you should ignore the data for channels that do not have sensors attached. It is best to use cbTIn()/TIn() for these configurations, since you can select which channels to read. If you use cbTInScan()/TInScan(), however, data for all channels over the entire range of channels are returned. Since some channels are not populated in this configuration, you should filter out the data for channels without sensors.

##### NOSCALE

Specify the NOSCALE option to retrieve raw data in volts or resistance from the device. When NOSCALE is specified, calibrated data is returned, although a cold junction compensation (CJC) correction factor is not applied to the returned values.

##### Saving configuration settings

InstaCal allows you to save configuration settings to a file or load a configuration from a previously saved file.

- Each USB-TEMP and USB-TEMP-AI channel can be configured to measure temperature data collected by one of five categories of temperature sensors: thermistors, thermocouples, RTDs, semiconductors, and Disabled.
- Each USB-TC and USB-TC-AI channel can be configured to measure temperature data collected by one of eight types of thermocouples.
- Each USB-TEMP-AI and USB-TC-AI voltage input channel can be configured for single-ended or differential mode and for one of four ranges - ±10 V, ±5 V, ±2.5 V, or ±1.25 V.

##### Recommended warm-up time

Allow the device to warm-up for 30 minutes before taking measurements. This warm-up time minimizes thermal drift and achieves the specified rated accuracy of measurements.

For RTD or thermistor measurements, this warm-up time is also required to stabilize the internal current reference.

##### Calibration

Any time the sensor category is changed in the configuration, a calibration is automatically performed by InstaCal. If the device has not been warmed up when this occurs, you should re-calibrate after the specified warm-up time.

##### Error temperature values

- -9999 is returned when a value is out of range or an open connection is detected.
- -9000 is returned when the device is not ready. This usually occurs right after the device is powered up and calibration factors are being loaded.