TestStand provides number, string, Boolean, and object reference built-in data types. TestStand also provides several standard named data types, including Path, Error, LabVIEWAnalogWaveform, and others. You can create container data types to hold any number of other data types. TestStand container data types are analogous to LabVIEW clusters. You can use references to external objects, such as ActiveX (Microsoft ActiveX) objects or VISA sessions, between different types of code modules.

LabVIEW includes a greater variety of built-in data types than TestStand does, so TestStand converts LabVIEW data types in certain ways when calling VIs.

Converting LabVIEW Numeric Representations

The following table shows how TestStand converts LabVIEW numeric representations:

LabVIEW Numeric Representation TestStand Data Type
Real number (U8, U16, U32, I8, I16, I32, SGL, DBL, or EXT)

Number

TestStand does not support extended-precision, (EXT) floating-point numbers. TestStand converts any EXT numbers from LabVIEW into double-precision (DBL) numbers.

64-bit integer numeric (I64)

Number

{Signed 64-bit integer}

Unsigned 64-bit integer numeric (UI64)

Number

{Unsigned 64-bit integer}

Fixed-point numeric TestStand does not support calling VIs with fixed-point numeric indicators or controls.
Complex number (CSG, CDB, or CXT)

Number

TestStand maps each part of the complex number to separate TestStand Number properties.

Converting LabVIEW Controls and Indicators

The following table shows how TestStand converts LabVIEW controls or indicators:

LabVIEW Control or Indicator TestStand Data Type
Enum (U32, U16, or U8) Enumeration
Ring control (Text Ring, Menu Ring, Text and Picture Ring, or Picture Ring) Enumeration
String String
Path Path or string
ActiveX Control or Automation Refnum Object reference
.NET Refnum

Object reference

You can pass .NET references created in LabVIEW to TestStand and store the references in Object Reference variables in TestStand and then pass them to other VIs. You can also share objects that derive from MarshalByRefObject or that are serializable between LabVIEW and TestStand. In TestStand, you can use those references with the .NET Adapter. Similarly, in LabVIEW, you can directly use references you create with the TestStand .NET Adapter. Refer to Microsoft MSDN documentation for more information about MarshalByRefObject and serializable objects.
Note Passing data between LabVIEW and TestStand is not supported in TestStand 2024 Q4 and subsequent versions.
Waveform

LabVIEWAnalogWaveform

To create variables for I64 or UI64 Waveforms, you must create a new custom data type, because the representation of the Y element that corresponds to the standard LabVIEWAnalogWaveform data type is set to double-precision 64-bit floating-point.

Digital waveform LabVIEWDigitalWaveform
Digital data LabVIEWDigitalData
Picture

String

You must select Binary String from the ring control in the Type column of the VI Parameter Table on the LabVIEW Module tab.

Refnum (File I/O, VI, Menu, Queue, TCP connection, and so on)

Number

You cannot use references to internal LabVIEW objects inside TestStand or in other types of code modules. You can store only references to LabVIEW objects in TestStand properties and then pass the properties to other VIs.

Timestamp

String

TestStand converts the LabVIEW Timestamp data type to a System Time data type and then to a string data type with the m/d/yyyy h:mm:ss.sss AM/PM format, where TestStand rounds fractions of a second to the nearest millisecond.

m Month as number without leading zero
d Day of the month as number without leading zero
yyyy Four-digit year
h Hour of the day, without leading zero (12-hour clock)
mm Minute of the hour, with leading zero
ss Second of the minute, with leading zero
sss Milliseconds of the second, with leading zero
AM/PM AM or PM uppercase
Error I/O

Error

By default, when a VI uses the standard LabVIEW error out cluster as an output parameter, TestStand automatically passes that value into the Step.Result.Error property for the step. You can also update the value manually. If an error occurs during execution of the VI and the error out cluster is passed to Step.Result.Error, TestStand launches the Run-Time Error dialog box by default.

Array of x Array of TestStand (x)
Variant Any TestStand data type
Note   Passing LabVIEW I/O references (DAQmx Task Name, DAQmx Channel Name, VISA Resource Name, IVI Logical Name, FieldPoint IO Point, or Motion Resource) through TestStand as a variant is not supported. Use the LabVIEWIOControl instead.
LabVIEW Object Object reference
Cluster Container
I/O controls (DAQmx Task Name, DAQmx Channel Name, VISA Resource Name, IVI Logical Name, FieldPoint IO Point, or Motion Resource) LabVIEWIOControl
IMAQ Session Number
Other I/O controls (DAQmx Physical Channel Name, Terminal Name, Analog Trigger Source, Scale Name, Device Name, or Switch Name) String
Note   LabVIEW does not support calling the PropertyObject.SetValInteger64, PropertyObject.GetValInteger64, PropertyObject.SetValInteger64ByOffset, PropertyObject.GetValInteger64ByOffset, PropertyObject.SetValUnsignedInteger64, PropertyObject.GetValUnsignedInteger64, PropertyObject.SetValUnsignedInteger64ByOffset, or PropertyObject.GetValUnsignedInteger64ByOffset methods. Use the PropertyObject.GetValVariant or PropertyObject.SetValVariant methods instead.