NI-XNET API for LabVIEW and C

XNET Write (Signal Waveform).vi

  • Updated2023-11-11
  • 4 minute(s) read
 XNET Write (Signal Waveform).vi

XNET Write (Signal Waveform).vi

Purpose

Writes data to a session of Signal Output Waveform mode. The data represents a waveform of resampled values for each signal in the session.

Format

Inputs

session in is the session to write. This session is selected from the LabVIEW project or returned from the XNET Create Session VI. The session mode must be Signal Output Waveform.
data provides a one-dimensional array of LabVIEW waveforms.

The data you write is queued up for transmit on the network. Using the default queue configuration for this mode, and assuming a 1000 Hz resample rate, you can safely write 64 elements if you have a sufficiently long timeout. To write more data, refer to the XNET Session Number of Values Unused property to determine the actual amount of queue space available for writing.

For an example of how this data applies to network traffic, refer to Signal Output Waveform Mode.

Each array element corresponds to a signal configured for the session. The order of signals in the array corresponds to the order in the session list.

The waveform elements are:
t0 is the waveform start time. This is a LabVIEW absolute timestamp.

This start time is unused (reserved) for Signal Output Waveform mode. If you change it from its default value of 0 (invalid), the XNET Write (Signal Waveform) VI returns an error.
dt is the waveform delta time. This is a LabVIEW relative time that specifies the time between each sample in the Y array. LabVIEW relative time is represented as 64-bit floating point in units of seconds.

This delta time is unused (reserved) for Signal Output Waveform mode. If you change it from its default value of 0, the XNET Write (Signal Waveform) VI returns an error.
Y is the array of resampled signal values. Each signal value is scaled, 64-bit floating point.

The Y array size must be the same for all waveforms, because the size determines the total timeline for the XNET Write (Signal Waveform) VI. If the Y array sizes are not the same, the XNET Write (Signal Waveform) VI returns an error.
timeout is the time to wait for the data to be queued for transmit. The timeout does not wait for frames to be transmitted on the network (refer to the XNET Wait (Transmit Complete) VI).

The timeout is a LabVIEW relative time, represented as 64-bit floating-point in units of seconds.

If timeout is positive, the XNET Write (Signal Waveform) VI waits up to that timeout for space to become available in queues. If the space is not available prior to the timeout, a timeout error is returned.

If timeout is negative, the XNET Write (Signal Waveform) VI waits indefinitely for space to become available in queues.

If timeout is 0, the XNET Write (Signal Waveform) VI does not wait and immediately returns an error if all data cannot be queued. Regardless of the timeout used, if a timeout error occurs, none of the data is queued, so you can attempt to call the XNET Write (Signal Waveform) VI again at a later time with the same data.

This input is optional. The default value is 10.0 (10 seconds).
error in is the error cluster input (refer to Error Handling).

Outputs

session out is the same as session in, provided for use with subsequent VIs.
error out is the error cluster output (refer to Error Handling).

Log in to get a better experience