LabVIEW Data Types in TestStand
- Updated2025-07-23
- 3 minute(s) read
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 |