# TC-32

The TC-32 supports the following features.

## Temperature input

Functions

UL: cbTIn(), cbTInScan()

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

Python for Windows: t_in(), t_in_scan()

Options

WAITFORNEWDATA

Scale

CELSIUS, FAHRENHEIT, KELVIN, NOSCALE*, VOLTS*

*Refer to Scaling section in the Hardware considerations section for more information on these options.

HighChan

0 to 31

0 to 63 when a TC-32-EXP expansion board is installed.

## Digital I/O

Port I/O

Functions

UL: cbDIn(), cbDIn32(), cbDOut(), cbDOut32(), cbDClearAlarm()*

UL for .NET: DIn(), DIn32(), DOut(), DOut32(), DClearAlarm()*

Python for Windows: d_in(), d_in_32(), d_out(), d_out_32(), d_clear_alarm()*

* cbDClearAlarm()/DClearAlarm()/d_clear_alarm() are only valid when used with Port B. Call these methods to clear an alarm state from a latched alarm once the alarm condition is resolved.

PortNum

Input: FIRSTPORTA

Output: FIRSTPORTB

DataValue

Input: 0 to 255 for FIRSTPORTA; 0 to 255 for SECONDPORTA when connected to a TC-32-EXP expansion board

Although digital input is not allowed, Port B can be used to monitor alarm states. Port B cannot be used to read values that are externally applied.

Output: 0 to 232–1 for FIRSTPORTB; 0 to 232–1 for SECONDPORTB.

Although DOut() and DOut32() perform the same operation, DOut32() is the preferred method to use, as the output value may be greater than the data types used by DOut() can handle.

Ports that have alarms configured cannot be written, although latched alarms can be cleared using cbDClearAlarm()/DClearAlarm().

Bit I/O

Functions

UL: cbDBitIn(), cbDBitOut()

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

Python for Windows: d_bit_in(), d_bit_out()

PortType

FIRSTPORTA

BitNum

Input:

TC-32: 0 to 7

TC-32-EXP: 40 to 47

All bits other than 0 to 7 and 40 to 47 are used only for alarm monitoring when read.

Output:

TC-32: 8 to 39

TC-32-EXP: 48 to 79

Output bits configured for alarm cannot be written, although latched alarms can be cleared using cbDClearAlarm()/DClearAlarm().

## Miscellaneous

Functions

UL: cbFlashLED()

UL for .NET: FlashLED()

Python for Windows: flash_led()

Causes the device LED to blink. When connected to a TC-32-EXP, the LEDs on both devices blink at the same time.

When you have several devices connected, use this function to identify a particular device by making its LED blink.

## Configuration

#### InstaCal

MAC address

Listed as MAC Address (read only)

Factory serial number

Listed as Factory Serial No (read only)

Listed as Factory Serial No (EXP) (read only)

Identifier

Identifier text box

Hardware version

Listed as Firmware Version (read only)

Rejection frequency

Reject Frequency drop-down combo box.

Calibration coefficients table

Calibration Coefficients drop-down combo box.

Calibration date

Listed as Calibrated (read only)

Detect open thermocouples

Detect Open TC checkbox.

Thermocouple type

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

Chan 0: through Chan 63: when the TC-32-EXP expansion board is installed.

Connection code

Listed as Connection Code

Note: Alarm and network settings are stored on the device, and can only be changed through InstaCal (except for the network connection code, which can be changed with the API). Additional information is specified in the Hardware Considerations section below.

#### Programmable API Functions

MAC address

UL: cbGetConfigString()

ConfigItem = BIDEVMACADDR

UL for .NET: BoardConfig.GetDeviceMacAddress()

Python for Windows:

Python for Windows: get_config_string()

config_item = DEVMACADDR

Factory serial number

UL: cbGetConfigString()

ConfigItem = BIDEVSERIALNUM

DevNum = 0 (base board), 1 (expansion board)

UL for .NET: GetDeviceSerialNum(), GetExpDeviceSerialNum()

Python for Windows: get_config_string()

config_item = DEVSERIALNUM

dev_num = 0 (base board), 1 (expansion board)

Identifier

UL: cbGetConfigString(), cbSetConfigString()

ConfigItem = BIUSERDEVID

UL for .Net: GetUserDeviceId(), SetUserDeviceId()

Python for Windows: get_config_string(), set_config_string()

config_item = USERDEVID

Hardware version

UL: cbGetConfigString()

ConfigItem = BIDEVVERSION

DevNum = VER_FW_MAIN

DevNum = VER_FW_MEASUREMENT

DevNum = VER_FW_MEASUREMENT_EXP

UL for .NET: GetDeviceVersion()

Type = VersionType.FW_MAIN

Type = VersionType.FW_MEASUREMENT

Type = VersionType.FW_MEASUREMENT_EXP

Python for Windows: get_config_string()

config_item = DEVVERSION

dev_num = FW_MEASUREMENT

dev_num = MEASUREMENT_EXP

Rejection frequency

UL: cbGetConfig(), cbSetConfig()

ConfigItem = BITEMPREJFREQ

ConfigVal = 50 (50 Hz), 60 (60 Hz)

DevNum = 0 (base board), 1 (expansion board)

UL for .NET: GetTempRejFreq(), GetExpTempRejFreq(), SetTempRejFreq(), SetExpTempRejFreq()

Python for Windows: get_config(), set_config()

config_item = TEMPREJFREQ

config_val = 0, 50, 60

dev_num = 0 (base board), 1 (expansion board)

Calibration coefficients table

UL: cbGetConfig(), cbSetConfig()

ConfigItem = BICALTABLETYPE

ConfigVal = CAL_TABLE_FACTORY, CAL_TABLE_FIELD

DevNum = 0 (base board), 1 (expansion board)

UL for .NET: GetCalTableType(), SetCalTableType()

Python for Windows: get_config(), set_config()

config_item = CALTABLETYPE

config_val = FACTORY, FIELD

dev_num = 0 (base board), 1 (expansion board)

Detect open TC

UL: cbGetConfig(), cbSetConfig()

ConfigItem = BIDETECTOPENTC

ConfigVal = 0 (disable), 1 (enable)

DevNum = 0 (base board), 1 (expansion board)

UL for .NET: GetDetectOpenTc(), GetExpDetectOpenTc(), SetDetectOpenTc(), SetExpDetectOpenTc()

Python for Windows: get_config(), set_config()

config_item = DETECTOPENTC

config_val = 0 (disable), 1 (enable); set with the State enum

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

Python for Windows: get_config(), set_config()

config_item = CHANTCTYPE

config_val = TcType enum

Connection code

UL: cbGetConfigString(), cbSetConfigString()

ConfigItem = BINETCONNECTIONCODE

UL for .Net: GetNetConnectionCode(), SetNetConnectionCode()

Python for Windows: set_config()

config_item = NETCONNECTIONCODE

Note: Alarm and network settings are stored on the device, and can only be changed through InstaCal (except for the network connection code, which can be changed with the API). Additional information is specified in the Hardware Considerations section below.

### Hardware considerations

##### Configuring the digital output channels to generate alarms

The TC-32 provides 32 independent temperature alarms. Each alarm controls an associated digital output 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). Note: 64 alarms are available when connected to a TC-32-EXP expansion board.

When an alarm is activated, the associated digital channel is driven to the output state defined by the alarm configuration. If the alarm is configured to latch, call cbDClearAlarm()/DClearAlarm()/d_clear_alarm() to clear the alarm state once the condition is resolved. 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. If the UL reads the device faster than the internal update rate, temperature readings "repeat." For example, if using cbTIn()/TIn()/t_in() 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.

Use the WAITFORNEWDATA option to retrieve data only when new, unique data is available.

##### Scaling

Specify the NOSCALE option to retrieve uncalibrated ADC code from the device.
Specify the VOLTS option to read the voltage input of a thermocouple.

##### Saving configuration settings

Use InstaCal to save device configuration settings to a file, or to load a configuration from a previously saved file.
Each TC-32 channel can be configured to measure temperature data collected by one of eight thermocouple types (J, K, R, S, B, E, T, and N.)

##### Recommended warm-up time

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

##### Error temperature values

- –6666 is returned when a value is out of range.
- –7777 is returned when the input voltage is outside of the valid common-mode voltage range.
- –9999 is returned when an open connection is detected.
- –11111 is returned when the channel is disabled.

##### Adding an Ethernet device to InstaCal

To add an Ethernet device to InstaCal, click the Add Board toolbar button and select the ENET tab.

- All devices within the local subnet will be detected and displayed. Select each device that you want to add to the InstaCal configuration file and click Add.
- A device that is not within the local subnet must be manually added to InstaCal: in the Detection type list select Manual, and enter the IP address. For a remote network also enter the port. Click Add to add the device to the InstaCal configuration file.

##### Network parameters

Set network parameters with InstaCal on the Network Settings tab of the Board Configuration dialog box. Configuration options are stored in non-volatile memory in EEPROM, and are loaded on power up.

- MAC Address: The unique 64-bit physical (MAC) address assigned to the device. This value cannot be changed.
- NetBIOS Name: A unique 16-byte address used to identify a NetBIOS resource on the network. This value cannot be changed.
- Connection Code: A value (between 0 and 999999999) that prevents other users from connecting to the device. The device is visible to other users, but connection by another user is not allowed.

The Current Settings area lists the network parameters currently set for the device:

- Configure IPv4 address: The IP address configuration. Select DHCP or Link Local, Link Local Only, DHCP Local Only, or Static.
- Subnet Mask: The Subnet Mask that is currently stored on the device.
  The Subnet Mask is the part of the IP address that denotes the local Subnet. It is set automatically by default when a DHCP server is available. When manually setting a static IP address, enter the value in the Default Settings area Subnet Mask field.
- Gateway: The Gateway IP address that is currently stored on the device.
  The Gateway parameter is used for communication between devices on different networks. It is set automatically by default when a DHCP server is available. When manually setting a static IP address, enter the value in the Default Settings area Gateway field.

The Default Settings area list the default network parameters for the device. You can change these values when manually configuring the network settings.

- IP4V Address: Enter a static IP address if DHCP is not enabled, or if you want to manually configure a device.
- Subnet Mask: Enter the Subnet Mask value when using a static IP address.
- Gateway: Enter the Gateway value when using a static IP address.

##### Factory default reset

To restore the network configuration settings to the factory default values, press and hold the device reset button until both device LEDs blink once (approximately 4 seconds).