Waveforms

NI Hierarchical Waveform Storage

Waveforms

A waveform is stored in an HWS file as an array of analog or digital data. The elements in an analog data array can include the following types:

  • Analog waveform data type (WDT)
  • Double-precision floating-point number (F64)
  • 8-bit signed integer (I8)
  • 16-bit signed integer (I16)
  • 32-bit signed integer (I32)

The elements in a digital data array can include the following types:

  • Digital waveform data type (WDT)
  • 8-bit unsigned integer (U8)
  • 16-bit unsigned integer (U16)
  • 32-bit unsigned integer (U32)
Note  The Waveform Data Type (WDT) (supported in LabVIEW versions 7.0 and later and in the C API for NI-HWS 1.4 and later) is a convenient way to manage data storage.

You can also save digital data in a two-dimensional array of unsigned integers. In this representation, you can think of your waveform as a table where the columns represent samples, and the rows represent devices, as shown in the following figure.

Note  Rows are contiguous in memory.

Waveforms are stored in groups with one or more waveforms per group. A waveform attribute is intended to apply only to its waveforms, not to the group.

A waveform reference is required to read or write any waveform data or attributes. Waveform names are used to obtain waveform references. However, if only one waveform is in the group, the waveform name is not needed. When two or more waveforms are in a group, the waveform name is required.

Refer to Data Conversion for more information about changing one waveform type to another.