# USB-5200 Series

The USB-5200 Series includes the following devices:

- USB-5201
- USB-5203

The USB-5200 Series supports the following 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

0 to 7

## Digital I/O

Configuration

Functions

UL: cbDConfigBit(), cbDConfigPort()

UL for .NET: DConfigBit(), DConfigPort()

Python for Windows: d_config_bit(), d_config_port()

PortNum

AUXPORT

PortType

AUXPORT

Port I/O

Functions

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

Functions

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

## Data Logging

UL: cbLogConvertFile(), cbLogGetAIChannelCount(), cbLogGetAIInfo(), cbLogGetCJCInfo(), cbLogGetDIOInfo(), cbLogGetFileInfo(), cbLogGetFileName(), cbLogGetPreferences(), cbLogGetSampleInfo(), cbLogReadAIChannels(), cbLogReadCJCChannels(), cbLogReadDIOChannels(), cbLogReadTimeTags(), cbLogSetPreferences()

UL for .NET: ConvertFile(), GetAIChannelCount(), GetAIInfo(), GetCJCInfo(), GetDIOInfo(), GetFileInfo(), GetFileName(), GetPreferences(), GetSampleInfo(), ReadAIChannels(), ReadCJCChannels(), ReadDIOChannels(), ReadTimeTags(), SetPreferences()

Python for Windows: None; operation in data logging mode is not supported.

The cbLogGetCJCInfo() function and the GetCJCInfo() method return the number of CJC temperature channels logged in the binary file ("0" or "2".)

The cbLogGetDIOInfo() function and the GetDIOInfo() method return the number of digital I/O channels logged in the binary file ("0" to "8".)

Delimiter

Comma, Semicolon, Space, Tab

LoggingUnits

Temperature, Raw

Units

Celsius, Fahrenheit, Kelvin

TimeFormat

TwelveHour, TwentyFourHour

TimeZone

Local, GMT

## 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 modules connected to the computer, use these functions to identify a particular device by making its LED blink.

## Configuration

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.

#### InstaCal

Factory serial number

Listed as Factory Serial No. (read only)

Identifier

Identifier text box

Hardware version

Listed as Firmware Version (read only)

Thermocouple type

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

Time format

Use 24-hour Time Format checkbox

Time Zone

Local, GMT radio buttons

Temperature unit

Celcius, Fahrenheit, and Kelvin radio buttons

File convert

Celcius, Fahrenheit, and Kelvin radio buttons

Note: Alarm settings are stored on the device, and can only be changed though InstaCal.

#### 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

Thermocouple type

UL: cbGetConfig(), cbSetConfig()

InfoType = BOARDINFO

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(), BoardConfig.SetChanTcType()

Python for Windows: get_config(), set_config()

config_item = CHANTCTYPE

config_val = TcType enum

Temperature unit

UL: cbGetConfig(), cbSetConfig()

InfoType = BOARDINFO

ConfigItem = BITEMPSCALE

UL for .NET: GetTempScale(), SetTempScale()

Python for Windows: get_config(), set_config()

info_type = BOARDINFO

config_item = TEMPSCALE

config_val = TempScale enum

Preferences

UL: cbLogSetPreferences()

UL for .NET: SetPreferences()

Logger Settings

UL: cbLogConvertFile(), cbLogGetAIChannelCount(), cbLogReadAIChannels(), cbLogReadCJCChannels(), cbLogReadDIOChannels(), cbLogReadTimeTags()

UL for .NET: ConvertFile(), GetAIChannelCount(), ReadAIChannels(), ReadCJCChannels(), ReadDIOChannels(), ReadTimeTags()

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

Note: Alarm settings are stored on the device, and can only be changed though InstaCal.

### Hardware considerations

##### Logging and storing measurement data

Temperature measurements can be stored on a CompactFlash memory card (64 MB CF card included with hardware). Each sample is stored on the card as a binary file. You set up the following logging options through InstaCal:

- the temperature input channel(s) to log
- the channel format – raw data or temperature
- the start mode to begin a logging session
- the interval in seconds between samples
- the alarm conditions used to trigger the DIO bits

InstaCal provides further options for copying, converting, and deleting the binary files. You can access log data stored on the memory card with a CompactFlash reader, or by transferring the files from InstaCal to a computer for processing and conversion using the USB bus.

Note: A card reader is not required to access log data on a device installed with firmware 3.0 and later. A device with this firmware version appears in Windows Explorer as a removable drive from which you can directly access the log data.

##### External power required for data logging

Due to processing limitations, data logging to the memory card is not allowed when the device is connected to an active USB bus on the computer. When operating as a data logger, disconnect the USB cable from the computer, and connect the external power supply shipped with the device.

Note: When using a self-powered hub, make sure it is attached to the PC USB port before connecting it to a USB-5200 Series device. If a powered hub is connected to the device first, it may be detected by the device as a power supply and go into logging mode.

##### Configuring the DIO channels to generate alarms

USB-5200 Series devices provide eight independent temperature alarms. Each alarm controls an associated digital I/O channel as an alarm output. The input to each alarm is one of the temperature input channels. Use InstaCal to set up the temperature conditions used to activate an alarm, and the output state of the channel when activated (active high or low).

Digital channels that are configured as alarms will power up in an output state. When an alarm is activated, the associated DIO channel is driven to the output state defined by the alarm configuration.

The alarms function both in data logging mode and while attached to the USB port on a computer. The alarm configurations are stored in non-volatile memory on the device and are loaded on power up.

##### Pacing temperature readings

The internal update rate for temperature measurement is a fixed value for these devices. If the UL reads the device faster than the internal update rate, temperature 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, ignore the data for channels that do not have sensors attached. It is best to use cbTIn()/TIn()/t_in() for these configurations, since you can select the channels to read. If you use cbTInScan()/TInScan()/t_in_scan(), 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 device configuration settings to a file, or to load a configuration from a previously saved file.

- Each USB-5203 channel can be configured to measure temperature data collected by one of five categories of temperature sensors: thermistors, thermocouples (one of eight types), RTDs, semiconductors, and Disabled.
- Each USB-5201 channel can be configured to measure temperature data collected by one of eight thermocouple types.

##### 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 and thermistor measurements, this warm-up time is also required to stabilize the internal current reference.

##### Calibration

Any time you change the sensor category for the USB-5203, calibration is automatically performed by InstaCal. If the device is not warmed up when this occurs, calibrate the device again 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.